Re: usbmon: compile as an external module

2008-02-18 Thread Paolo Abeni
hello

On Sun, 2008-02-17 at 14:13 -0800, Pete Zaitcev wrote:
> On Fri, 15 Feb 2008 09:38:14 +0100, "Paolo Abeni" wrote:
> 
> > I'm again playing with usbmon and I think it would be useful, at least
> > for testing purpose, being able to compile the usbmon device code as an
> > external module. []
> 
> This can easily be accomplished by building USB core as a module.

True :-) Anyway the infrastructure to compile usbmon as a module is yet
in place and take advantage of it will help save some memory when usbmon
is not used. Moreover it's a bit more troublesome probe/remove the USB
core (when compiled as a module) than the only usbmon (for example if I
have [part of] my root file system mounted via usb-storage...)

> > CONFIG_USB_MON_MMAP enable memory mapped access for the usbmon binary
> > device
> 
> If you're going to use it, we should just enable it. I'll send a
> patch.

I follow the example of packet socket, which have memory mapped access
and a configuration option for enabling it.

Generally speaking, I thought that having fine-grane configuration
options would be preferable. 

cheers,

Paolo

 
 
 --
 Email.it, the professional e-mail, gratis per te: http://www.email.it/f
 
 Sponsor:
 Nuovi giochi per cellulare. Scarica e inizia la tua partita.
* 
 Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=7519&d=18-2
-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Detaching memory stick leaves device node reserved

2008-02-18 Thread tike64
--- Alan Stern :
> On Fri, 15 Feb 2008, tike64 wrote:
> 
> > I can't understand what is going on with yahoo. My reply seemed
> > perfectly normal before sending. Hopefully this comes through a
> > little prettier ...
> 
> Sorry, yes, this is much better.

I had to edit the text first in text editor and then paste it to the
mail window. But now I switched back to yahoo mail classic -- let's
see...

> Ubuntu's desktop environment probably includes a program (like hal or
> autofs) that watches for device removals and automatically unmounts
> the filesystem for you.

Yes, this was supposed to be handled by udev scripts in the ARM
environment. The thing was that I was not able to do the umount even
manually. But now, as I tried to collect more details, I am not able to
replicate the problem at all! How typical and embarrassing. One thing
that might have misled me is that the shell kept the redirected file
open. But I tried honestly to check very carefully that there were no
files open on the stick before umount. Oh well...

Thanks anyway and sorry for the noise.

The difference between the ARM system and my desktop was that the
desktop uses lazy umount.

--

Timo



  

Never miss a thing.  Make Yahoo your home page. 
http://www.yahoo.com/r/hs
-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Nikon D80 new FW still needs Fixup

2008-02-18 Thread Phil Dibowitz
Konstantin Kletschke wrote:
> Hi!
> 
> The Nikon D80 got a new Firmware version 1.10 and still needs the fixup
> in unusual_devs.h (I suspect they will never fix this :-))
> 
> Kind Regards, Konsti
> 
> 

This looks fine to me. For form's sake, can I get we copy of
/proc/bus/usb/devices with the device plugged in?

Thanks.
-- 
Phil Dibowitz [EMAIL PROTECTED]
Open Source software and tech docsInsanity Palace of Metallica
http://www.phildev.net/   http://www.ipom.com/

"Never write it in C if you can do it in 'awk';
 Never do it in 'awk' if 'sed' can handle it;
 Never use 'sed' when 'tr' can do the job;
 Never invoke 'tr' when 'cat' is sufficient;
 Avoid using 'cat' whenever possible" -- Taylor's Laws of Programming




signature.asc
Description: OpenPGP digital signature


[PATCH] USB: Simplify EHCI's itd_urb_transaction()

2008-02-18 Thread Karsten Wiese

stream->free_list is either empty or contains ITD(s).
Spare an "if (!itd)" and only do another after dma_pool_alloc().

Signed-off-by: Karsten Wiese <[EMAIL PROTECTED]>
---
 drivers/usb/host/ehci-sched.c |   15 ++-
 1 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/drivers/usb/host/ehci-sched.c b/drivers/usb/host/ehci-sched.c
index e3e85ab..d009d3c 100644
--- a/drivers/usb/host/ehci-sched.c
+++ b/drivers/usb/host/ehci-sched.c
@@ -1182,21 +1182,18 @@ itd_urb_transaction (
struct ehci_itd, itd_list);
list_del (&itd->itd_list);
itd_dma = itd->itd_dma;
-   } else
-   itd = NULL;
-
-   if (!itd) {
+   } else {
spin_unlock_irqrestore (&ehci->lock, flags);
itd = dma_pool_alloc (ehci->itd_pool, mem_flags,
&itd_dma);
spin_lock_irqsave (&ehci->lock, flags);
+   if (unlikely(!itd)) {
+   iso_sched_free(stream, sched);
+   spin_unlock_irqrestore(&ehci->lock, flags);
+   return -ENOMEM;
+   }
}
 
-   if (unlikely (NULL == itd)) {
-   iso_sched_free (stream, sched);
-   spin_unlock_irqrestore (&ehci->lock, flags);
-   return -ENOMEM;
-   }
memset (itd, 0, sizeof *itd);
itd->itd_dma = itd_dma;
list_add (&itd->itd_list, &sched->td_list);
-- 
1.5.3.8

-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: problem with starting 2.5.26-rc1 and latest git

2008-02-18 Thread Jean Delvare
On Thu, 14 Feb 2008 00:27:34 +0100, Mariusz Kozlowski wrote:
> Of course there is a typo in the subject :)
> 
> 2.5.25-rc1 -> 2.6.25-rc1
> 
> > Hello,
> > 
> > I tried 2.6.25-rc1 and latest git on my laptop (x86 32bit) and have a 
> > problem.
> > Linux boots but with huge delay due to some issue with loading usb modules.
> > Udev complains:
> > 
> > 'Could not lock modprobe uhci_hcd'
> > 'Could not lock modprobe yenta_socket'
> > 'Unknown symbol usb_*'
> > 'Gave up waiting for init of module usbcore'
> > (...)

Have you tried upgrading to rc2? I used to have the same problem you
reported, but I was unable to reproduce it since I upgraded to rc2.

-- 
Jean Delvare
-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


USB enumeration process

2008-02-18 Thread Felipe Balbi
Hi all,

after we attach a usb device we get a hub_port_connect event which
call usb_new_device. But after that, which function is called to
create device nodes and configure the device so we can use it ?

sorry, if it's a stupid question but I couldn't find such method
tracing the function call :-s

-- 
Best Regards,

Felipe Balbi
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: ubs_skeleton how does unanchor_urb get called in write path?

2008-02-18 Thread Richard Kennedy

On Sun, 2008-02-17 at 12:33 -0500, Alan Stern wrote:
> On Sun, 17 Feb 2008, Richard Kennedy wrote:
> 
> > Sorry if this a dumb question but I've been trying to figure out how to
> > use usb_anchor_urb by looking at usb_skeleton.c.
> > 
> > skel_write calls usb_anchor_urb, but how does usb_unanchor_urb get
> > called when the urb is processed successfully? I see it gets called on
> > the error path but nowhere else.
> 
> When an URB completes (successfully or unsuccessfully), it 
> automatically is unanchored.
> 
> > Should skel_write_bulk_callback call usb_unanchor_urb, or does it get
> > done automatically by the framework?
> 
> It is done automatically.  Look at usb_hcd_giveback_urb() in 
> drivers/usb/core/hcd.c.
> 
> Alan Stern
Alan,
Thanks for the pointer.
I wonder if it's worth adding a note to the documentation for
usb_anchor_urb just to say that they are automatically unlinked on
completion ?

Richard

-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: USB enumeration process

2008-02-18 Thread Felipe Balbi
Hi,

On Feb 18, 2008 5:02 PM, Alan Stern <[EMAIL PROTECTED]> wrote:
> On Mon, 18 Feb 2008, Felipe Balbi wrote:
>
> > Hi all,
> >
> > after we attach a usb device we get a hub_port_connect event which
> > call usb_new_device. But after that, which function is called to
> > create device nodes and configure the device so we can use it ?
> >
> > sorry, if it's a stupid question but I couldn't find such method
> > tracing the function call :-s
>
> Configuration is handled in generic.c:generic_probe().
>
> Device nodes are created by udev, not by the kernel.  But maybe you are
> referring to the code in devio.c:usb_classdev_add().

Thanks Alan for the quick reply :-)
what I really wanna know is when we match/bind drivers to usb_interfaces.

-- 
Best Regards,

Felipe Balbi
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: USB enumeration process

2008-02-18 Thread Alan Stern
On Mon, 18 Feb 2008, Felipe Balbi wrote:

> Thanks Alan for the quick reply :-)
> what I really wanna know is when we match/bind drivers to usb_interfaces.

That's in message.c:usb_set_configuration().  It occurs near the end of
that routine, in the call to device_add().

Alan Stern

-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [usb-storage] usb-storage and S.M.A.R.T.

2008-02-18 Thread Guillaume Bedot
Hello,

Le samedi 16 février 2008 à 12:54 -0800, Matthew Dharm a écrit :
> On Thu, Feb 14, 2008 at 06:19:46PM +0100, René Rebe wrote: 
> > As I do not know the underlying protocols off-hand, is that a driver /
> > sub-system limitation or not possible to get thru this USB mass
> > storage protocol?
> 
> It's a limitation of the particular USB/ATA bridge device you're using.
> 
> Matt

Do you know of USB-(S and/or P)ATA bridges that do not suffer from these
limitations ?

Regards,

Guillaume B.

-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: USB enumeration process

2008-02-18 Thread Alan Stern
On Mon, 18 Feb 2008, Felipe Balbi wrote:

> Hi all,
> 
> after we attach a usb device we get a hub_port_connect event which
> call usb_new_device. But after that, which function is called to
> create device nodes and configure the device so we can use it ?
> 
> sorry, if it's a stupid question but I couldn't find such method
> tracing the function call :-s

Configuration is handled in generic.c:generic_probe().

Device nodes are created by udev, not by the kernel.  But maybe you are 
referring to the code in devio.c:usb_classdev_add().

Alan Stern

-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: ubs_skeleton how does unanchor_urb get called in write path?

2008-02-18 Thread Alan Stern
On Mon, 18 Feb 2008, Richard Kennedy wrote:

> Alan,
> Thanks for the pointer.
> I wonder if it's worth adding a note to the documentation for
> usb_anchor_urb just to say that they are automatically unlinked on
> completion ?

That sounds like a good idea.  Care to submit a patch?

Alan Stern

-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Hello!!

2008-02-18 Thread MICROSOFT ONLINE AWARD 2008
Congratulations!!Your email id was selected and you have therefore been
awarded the sum of £750,000GBP by the Microsoft Promotions.
contact this email for further instructions:
[EMAIL PROTECTED]

Thank you
-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: usb device handled by ohci and not by ehci

2008-02-18 Thread Alan Stern
On Mon, 18 Feb 2008, Alan Stern wrote:

> On Mon, 18 Feb 2008, Michael SCHINDLER wrote:
> 
> > I have recompiled the kernel with USB debugging, and now I see
> > explicitly that EHCI hands over the device to its companion driver
> > OHCI (see below).
> > 
> > However, I do not yet know why this happens and how I can avoid it and
> > have the device handled by EHCI at full speed. Is it sufficient to
> > create a new entry in unusual_dev.h? How do I specify the capability
> > of USB2.0 there?
> 
> Judging from your log, the reason the handover occurs is because your 
> device doesn't support high-speed operation.  To confirm this, let's 
> see what "lsusb -v" has to say about the device.

Another possible explanation is that your computer's EHCI controller 
doesn't work properly.  Can you run any devices attached to that USB 
port at high speed?

Alan Stern

-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: usb device handled by ohci and not by ehci

2008-02-18 Thread Alan Stern
On Mon, 18 Feb 2008, Michael SCHINDLER wrote:

> I have recompiled the kernel with USB debugging, and now I see
> explicitly that EHCI hands over the device to its companion driver
> OHCI (see below).
> 
> However, I do not yet know why this happens and how I can avoid it and
> have the device handled by EHCI at full speed. Is it sufficient to
> create a new entry in unusual_dev.h? How do I specify the capability
> of USB2.0 there?

Judging from your log, the reason the handover occurs is because your 
device doesn't support high-speed operation.  To confirm this, let's 
see what "lsusb -v" has to say about the device.

Alan Stern

-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: usb device handled by ohci and not by ehci

2008-02-18 Thread Michael SCHINDLER
Dear Alan,

On 13.02.08, Alan Stern wrote:
> On Wed, 13 Feb 2008 [EMAIL PROTECTED] wrote:
> > I have problems with a usb device (mp3 player) which is handled by the
> > kernel modules in a wrong way. It is a usb 2.0 device (which behaves
> > as such on e.g. Mac OS X), but with the linux kernel (2.6.22-3 debian
> > kernel) I encounter only about 1MB/min of data transfer.
> > 
> > A look into /proc/bus/usb/devices shows that the device is handled by
> > the ohci module instead of the ehci module. Can anybody explain to me
> > how to fix (debug) this problem? I am a bit lost with the usb modules,
> > which do not seem to have a debug option argument.
> 
> You can start by looking at the output from dmesg.  If that doesn't 
> provide enough information you can enable debugging by turning on 
> CONFIG_USB_DEBUG -- it's a configuration setting rather than a module 
> parameter.

I have recompiled the kernel with USB debugging, and now I see
explicitly that EHCI hands over the device to its companion driver
OHCI (see below).

However, I do not yet know why this happens and how I can avoid it and
have the device handled by EHCI at full speed. Is it sufficient to
create a new entry in unusual_dev.h? How do I specify the capability
of USB2.0 there?

Michael


- output from dmesg 
Feb 13 19:11:00 pugliese kernel: hub 2-0:1.0: hub_resume
Feb 13 19:11:00 pugliese kernel: ehci_hcd :00:0b.1: resume root hub
Feb 13 19:11:00 pugliese kernel: hub 2-0:1.0: state 7 ports 8 chg  evt 
Feb 13 19:11:00 pugliese kernel: ehci_hcd :00:0b.1: GetStatus port 2 status 
001803 POWER sig=j CSC CONNECT
Feb 13 19:11:00 pugliese kernel: hub 2-0:1.0: port 2, status 0501, change 0001, 
480 Mb/s
Feb 13 19:11:00 pugliese kernel: hub 2-0:1.0: debounce: port 2: total 100ms 
stable 100ms status 0x501
Feb 13 19:11:00 pugliese kernel: ehci_hcd :00:0b.1: port 2 full speed --> 
companion
Feb 13 19:11:00 pugliese kernel: ehci_hcd :00:0b.1: GetStatus port 2 status 
003001 POWER OWNER sig=se0 CONNECT
Feb 13 19:11:00 pugliese kernel: hub 2-0:1.0: port 2 not reset yet, waiting 50ms
Feb 13 19:11:00 pugliese kernel: usb usb1: usb resume
Feb 13 19:11:00 pugliese kernel: usb usb1: finish resume
Feb 13 19:11:00 pugliese kernel: hub 1-0:1.0: hub_resume
Feb 13 19:11:00 pugliese kernel: ohci_hcd :00:0b.0: wakeup root hub
Feb 13 19:11:00 pugliese kernel: ehci_hcd :00:0b.1: GetStatus port 2 status 
003802 POWER OWNER sig=j CSC
Feb 13 19:11:00 pugliese kernel: hub 2-0:1.0: state 7 ports 8 chg  evt 0004
Feb 13 19:11:00 pugliese kernel: hub 1-0:1.0: state 7 ports 8 chg  evt 
Feb 13 19:11:00 pugliese kernel: ohci_hcd :00:0b.0: GetStatus 
roothub.portstatus [1] = 0x00010101 CSC PPS CCS
Feb 13 19:11:00 pugliese kernel: hub 1-0:1.0: port 2, status 0101, change 0001, 
12 Mb/s
Feb 13 19:11:00 pugliese kernel: hub 1-0:1.0: debounce: port 2: total 100ms 
stable 100ms status 0x101
Feb 13 19:11:00 pugliese kernel: ohci_hcd :00:0b.0: GetStatus 
roothub.portstatus [1] = 0x00100103 PRSC PPS PES CCS
Feb 13 19:11:00 pugliese kernel: usb 1-2: new full speed USB device using 
ohci_hcd and address 2
Feb 13 19:11:01 pugliese kernel: ohci_hcd :00:0b.0: GetStatus 
roothub.portstatus [1] = 0x00100103 PRSC PPS PES CCS
Feb 13 19:11:01 pugliese kernel: usb 1-2: ep0 maxpacket = 16
Feb 13 19:11:01 pugliese kernel: usb 1-2: default language 0x0409
Feb 13 19:11:01 pugliese kernel: usb 1-2: new device strings: Mfr=1, Product=2, 
SerialNumber=0
Feb 13 19:11:01 pugliese kernel: usb 1-2: Product: USB Mass Storage Device 2.0
Feb 13 19:11:01 pugliese kernel: usb 1-2: Manufacturer: NewTech Inc.
Feb 13 19:11:01 pugliese kernel: usb 1-2: uevent
Feb 13 19:11:01 pugliese kernel: usb 1-2: usb_probe_device
Feb 13 19:11:01 pugliese kernel: usb 1-2: configuration #1 chosen from 1 choice
Feb 13 19:11:01 pugliese kernel: usb 1-2: adding 1-2:1.0 (config #1, interface 
0)
Feb 13 19:11:01 pugliese kernel: usb 1-2:1.0: uevent
Feb 13 19:11:01 pugliese kernel: usb 1-2:1.0: uevent
Feb 13 19:11:01 pugliese kernel: libusual 1-2:1.0: usb_probe_interface
Feb 13 19:11:01 pugliese kernel: libusual 1-2:1.0: usb_probe_interface - got id
Feb 13 19:11:01 pugliese kernel: usb-storage 1-2:1.0: usb_probe_interface
Feb 13 19:11:01 pugliese kernel: usb-storage 1-2:1.0: usb_probe_interface - got 
id
Feb 13 19:11:01 pugliese kernel: usb-storage: USB Mass Storage device detected
Feb 13 19:11:01 pugliese kernel: usb-storage: -- associate_dev
Feb 13 19:11:01 pugliese kernel: usb-storage: Vendor: 0x04e8, Product: 0x9826, 
Revision: 0x0100
Feb 13 19:11:01 pugliese kernel: usb-storage: Interface Subclass: 0x06, 
Protocol: 0x50
Feb 13 19:11:01 pugliese kernel: usb-storage: Transport: Bulk
Feb 13 19:11:01 pugliese kernel: usb-storage: Protocol: Transparent SCSI
Feb 13 19:11:01 pugliese kernel: scsi3 : SCSI emulation for USB Mass Storage 
devices
Feb 13 19:11:01 pugliese kernel: usb-storage: *** thread sleeping.
Feb 13 19:11:01 pugliese kernel: usb-storage: device found at 2
Feb 13 19

Re: Re: Gadgetfs problem.

2008-02-18 Thread hui zhuu
Hi Dave,

After the stress test and backport gadget code from
2.6.24 to my current 2.6.20 version, the problem
remains .

It always reports error when responding to the
following setup request:

SETUP 80.06 v0300 i l00ff

usb.c always fails at replying to this request, it
reports:

write string data: Device or resource busy
ep0 read after poll: Level 2 halted 

I don't know if AIO is mandantory for this
enumaration, as I did not use AIO.

I also got something DEBUG message from gadgetfs as
the following:

SETUP 80.06 v0300 i l00ff
gadgetfs: delegate req80.06 v0300 i l255
gadgetfs: event[1] = 3
gadgetfs: ep0 request busy!
gadgetfs: ep0in stall

Any suggestion for me?

Thanks ...


--- David Brownell <[EMAIL PROTECTED]>写道:

> On Thursday 14 February 2008, hui zhuu wrote:
> > > > Thanks, anyway, how can I find the if version
> of
> > > the
> > > > gadgetfs.h is wrong?
> > > 
> > > Use the version of the header from the kernel
> that
> > > you're running with.
> > 
> > I just did that, the problem is still there.
> > 
> > This is strange, as our d12 driver works ok with
> the
> > serial/ether/file_storage gadget, from this point
> can
> > I suppose it is sufficient to hooks up with
> gadgetfs?
> 
> It could be.  Does g_zero work well in stress test
> mode?
> (That is, running all the tests in the test script,
> for
> several days at a time ... try it over this
> weekend.)
> 
> Usually the problem with gadgetfs has been a mode
> for
> handling control transfers that isn't widely used
> ...
> except in gadgetfs, and g_file_storage.
> 
>  
> > The gadget code i am working with is form 2.6.20.4
> > kernel tree, I think it's pretty new. Did I miss
> > anything else?
> 
> I've not used gadgetfs much lately, beyond just a
> quick sanity test on 2.6.24 to sort out that one
> issue (which turned out to be in userspace).
> 
> So, all I can say for sure is:  try 2.6.24 and see
> if that works for you too.
> 
> - Dave
> 
> 



  ___ 
雅虎邮箱传递新年祝福,个性贺卡送亲朋! 
http://cn.mail.yahoo.com/gc/index.html?entry=5&souce=mail_mailletter_tagline
-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: usb device handled by ohci and not by ehci

2008-02-18 Thread Michael SCHINDLER
Hello Alan,

thanks for the quick response.

On 18.02.08, Alan Stern wrote:
> On Mon, 18 Feb 2008, Alan Stern wrote:
> > On Mon, 18 Feb 2008, Michael SCHINDLER wrote:
> > 
> > > I have recompiled the kernel with USB debugging, and now I see
> > > explicitly that EHCI hands over the device to its companion driver
> > > OHCI (see below).
> > > 
> > > However, I do not yet know why this happens and how I can avoid it and
> > > have the device handled by EHCI at full speed. Is it sufficient to
> > > create a new entry in unusual_dev.h? How do I specify the capability
> > > of USB2.0 there?

> > Judging from your log, the reason the handover occurs is because your 
> > device doesn't support high-speed operation.  To confirm this, let's 
> > see what "lsusb -v" has to say about the device.

The output from lsusb -v for the device is below. I tested the device
with MacOSX and found a transfer rate corresponding to high-speed
(approximately the same as for a nicely working USB key, see below).

In the meantime, I have tested the device with a different linux
computer (also debian lenny) and found the same transfer rates. Only,
this time the companion driver is UHCI and not OHCI. The logs below
correspond to this situation.

> Another possible explanation is that your computer's EHCI controller 
> doesn't work properly.  Can you run any devices attached to that USB 
> port at high speed?

Yes, I can. For comparison, I include the output from  lsusb -v for a
Toshiba USB key, which works nicely.


Michael

-- lsusb -v for the strange MP3-player 

Bus 001 Device 002: ID 04e8:9826 Samsung Electronics Co., Ltd 
Device Descriptor:
  bLength18
  bDescriptorType 1
  bcdUSB   2.00
  bDeviceClass0 (Defined at Interface level)
  bDeviceSubClass 0 
  bDeviceProtocol 0 
  bMaxPacketSize016
  idVendor   0x04e8 Samsung Electronics Co., Ltd
  idProduct  0x9826 
  bcdDevice1.00
  iManufacturer   1 NewTech Inc.
  iProduct2 USB Mass Storage Device 2.0
  iSerial 0 
  bNumConfigurations  1
  Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength   39
bNumInterfaces  1
bConfigurationValue 1
iConfiguration  0 
bmAttributes 0x80
  (Bus Powered)
MaxPower  200mA
Interface Descriptor:
  bLength 9
  bDescriptorType 4
  bInterfaceNumber0
  bAlternateSetting   0
  bNumEndpoints   3
  bInterfaceClass 8 Mass Storage
  bInterfaceSubClass  6 SCSI
  bInterfaceProtocol 80 Bulk (Zip)
  iInterface  0 
  Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82  EP 2 IN
bmAttributes2
  Transfer TypeBulk
  Synch Type   None
  Usage Type   Data
wMaxPacketSize 0x0040  1x 64 bytes
bInterval   0
  Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03  EP 3 OUT
bmAttributes2
  Transfer TypeBulk
  Synch Type   None
  Usage Type   Data
wMaxPacketSize 0x0040  1x 64 bytes
bInterval   0
  Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81  EP 1 IN
bmAttributes3
  Transfer TypeInterrupt
  Synch Type   None
  Usage Type   Data
wMaxPacketSize 0x0040  1x 64 bytes
bInterval 255



-- lsusb -v for a working USB key 

Bus 005 Device 004: ID 0930:6528 Toshiba Corp. 
Device Descriptor:
  bLength18
  bDescriptorType 1
  bcdUSB   2.00
  bDeviceClass0 (Defined at Interface level)
  bDeviceSubClass 0 
  bDeviceProtocol 0 
  bMaxPacketSize064
  idVendor   0x0930 Toshiba Corp.
  idProduct  0x6528 
  bcdDevice1.00
  iManufacturer   1 TOSHIBA
  iProduct2 TransMemory
  iSerial 3 0A81F750B0F04A48
  bNumConfigurations  1
  Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength   39
bNumInterfaces  1
bConfigurationValue 1
iConfiguration  0 
bmAttributes 0x80
  (Bus Powered)
MaxPower  200mA
Interface Descriptor:
  bLength 9
  bDescriptorType 4
  bInterfaceNumber0
  bAlternateSetting   0
  bNumEndpoin

Re: usb device handled by ohci and not by ehci

2008-02-18 Thread Alan Stern
On Mon, 18 Feb 2008, Michael SCHINDLER wrote:

> > > Judging from your log, the reason the handover occurs is because your 
> > > device doesn't support high-speed operation.  To confirm this, let's 
> > > see what "lsusb -v" has to say about the device.
> 
> The output from lsusb -v for the device is below. I tested the device
> with MacOSX and found a transfer rate corresponding to high-speed
> (approximately the same as for a nicely working USB key, see below).
> 
> In the meantime, I have tested the device with a different linux
> computer (also debian lenny) and found the same transfer rates. Only,
> this time the companion driver is UHCI and not OHCI. The logs below
> correspond to this situation.

I don't know what's going on with your Mac OSX test; however the lsusb
output indicates plainly that the Samsung device does not run at high
speed.  The key point is lack of a Device Qualifier descriptor -- it
is mandatory for high-speed devices (and notice that it is present in
the working Toshiba device).

Could it be that the Samsung device runs at full speed even under OSX 
and somehow your transfer rate test is giving a misleading result?

> > Another possible explanation is that your computer's EHCI controller 
> > doesn't work properly.  Can you run any devices attached to that USB 
> > port at high speed?
> 
> Yes, I can. For comparison, I include the output from  lsusb -v for a
> Toshiba USB key, which works nicely.

If you want a definitive test then edit the kernel source file 
drivers/usb/host/ehci_hub.c, and at the start of the 
check_reset_complete() routine add the following lines:

ehci_dbg(ehci, "port %d status after reset 0x%x\n",
index + 1, port_status);

After you build and load the new ehci_hcd.ko module, that new debugging
line should show up in the dmesg log when you plug in any USB device.  
What does it say for the Samsung and Toshiba devices?

Alan Stern

-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Nikon D80 new FW still needs Fixup

2008-02-18 Thread Konstantin Kletschke
Am 2008-02-18 03:09 -0800 schrieb Phil Dibowitz:

> This looks fine to me. For form's sake, can I get we copy of
> /proc/bus/usb/devices with the device plugged in?

You mean this?

T:  Bus=02 Lev=01 Prnt=01 Port=04 Cnt=02 Dev#=  5 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=04b0 ProdID=0411 Rev= 1.10
S:  Manufacturer=NIKON
S:  Product=NIKON DSC D80
S:  SerialNumber=04042426
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  2mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50
Driver=usb-storage
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

In case of not I will of course deliver other required data :)

Kind Regards, Konsti



-- 
GPG KeyID EF62FCEF
Fingerprint: 13C9 B16B 9844 EC15 CC2E  A080 1E69 3FDA EF62 FCEF
-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[patch 1/3] Convert stats_sem in a mutex

2008-02-18 Thread matthias
The semaphore cp->mutex is used as mutex, convert it to the mutex API

Signed-off-by: Matthias Kaehlcke <[EMAIL PROTECTED]>

Index: linux-2.6/drivers/usb/misc/auerswald.c
===
--- linux-2.6.orig/drivers/usb/misc/auerswald.c 2008-02-18 19:47:18.0 
+0100
+++ linux-2.6/drivers/usb/misc/auerswald.c  2008-02-18 19:51:52.0 
+0100
@@ -31,6 +31,7 @@
 #include 
 #include 
 #include 
+#include 
 
 /*---*/
 /* Debug support*/
@@ -232,7 +233,7 @@
 /* USB device context */
 typedef struct
 {
-   struct semaphoremutex;  /* protection in user 
context */
+   struct mutexmutex;  /* protection in user context */
charname[20];   /* name of the /dev/usb 
entry */
unsigned intdtindex;/* index in the device 
table */
struct usb_device * usbdev; /* USB device handle */
@@ -1376,7 +1377,7 @@
if (cp == NULL) {
return -ENODEV;
}
-   if (down_interruptible (&cp->mutex)) {
+   if (mutex_lock_interruptible(&cp->mutex)) {
return -ERESTARTSYS;
}
 
@@ -1405,7 +1406,7 @@
cp->open_count++;
ccp->auerdev = cp;
dbg("open %s as /dev/%s", cp->dev_desc, cp->name);
-   up (&cp->mutex);
+   mutex_unlock(&cp->mutex);
 
/* file IO stuff */
file->f_pos = 0;
@@ -1413,7 +1414,7 @@
return nonseekable_open(inode, file);
 
/* Error exit */
-ofail: up (&cp->mutex);
+ofail: mutex_unlock(&cp->mutex);
auerchar_delete (ccp);
return ret;
 }
@@ -1440,14 +1441,14 @@
up (&ccp->mutex);
 return -ENODEV;
}
-   if (down_interruptible (&cp->mutex)) {
+   if (mutex_lock_interruptible(&cp->mutex)) {
up(&ccp->mutex);
return -ERESTARTSYS;
}
 
/* Check for removal */
if (!cp->usbdev) {
-   up(&cp->mutex);
+   mutex_unlock(&cp->mutex);
up(&ccp->mutex);
 return -ENODEV;
}
@@ -1550,7 +1551,7 @@
break;
 }
/* release the mutexes */
-   up(&cp->mutex);
+   mutex_unlock(&cp->mutex);
up(&ccp->mutex);
return ret;
 }
@@ -1721,12 +1722,12 @@
up (&ccp->mutex);
return -ERESTARTSYS;
}
-   if (down_interruptible (&cp->mutex)) {
+   if (mutex_lock_interruptible(&cp->mutex)) {
up (&ccp->mutex);
return -ERESTARTSYS;
}
if (!cp->usbdev) {
-   up (&cp->mutex);
+   mutex_unlock(&cp->mutex);
up (&ccp->mutex);
return -EIO;
}
@@ -1750,7 +1751,7 @@
 
/* are there any buffers left? */
if (!bp) {
-   up (&cp->mutex);
+   mutex_unlock(&cp->mutex);
up (&ccp->mutex);
 
/* NONBLOCK: don't wait */
@@ -1783,7 +1784,7 @@
auerbuf_releasebuf (bp);
/* Wake up all processes waiting for a buffer */
wake_up (&cp->bufferwait);
-   up (&cp->mutex);
+   mutex_unlock(&cp->mutex);
up (&ccp->mutex);
return -EFAULT;
}
@@ -1803,7 +1804,7 @@
auerchar_ctrlwrite_complete, bp);
/* up we go */
ret = auerchain_submit_urb (&cp->controlchain, bp->urbp);
-   up (&cp->mutex);
+   mutex_unlock(&cp->mutex);
if (ret) {
dbg ("auerchar_write: nonzero result of auerchain_submit_urb 
%d", ret);
auerbuf_releasebuf (bp);
@@ -1830,16 +1831,16 @@
down(&ccp->mutex);
cp = ccp->auerdev;
if (cp) {
-   down(&cp->mutex);
+   mutex_lock(&cp->mutex);
/* remove an open service */
auerswald_removeservice (cp, &ccp->scontext);
/* detach from device */
if ((--cp->open_count <= 0) && (cp->usbdev == NULL)) {
/* usb device waits for removal */
-   up (&cp->mutex);
+   mutex_unlock(&cp->mutex);
auerswald_delete (cp);
} else {
-   up (&cp->mutex);
+   mutex_unlock(&cp->mutex);
}
cp = NULL;
ccp->auerdev = NULL;
@@ -1917,7 +1918,7 @@
}
 
/* Initialize device descriptor */
-   init_MUTEX (&cp->mutex);
+   mutex_init(&cp->mutex);
cp->usbdev = usbdev;
auerchain_init (&cp->controlchain);
 auerbuf_init (&cp->bufctl);
@@ -2042,7 +2043,7 @@
/* give back our USB minor number */
usb_deregister_dev(i

[patch 3/3] Convert ccp->mutex in a mutex

2008-02-18 Thread matthias
The semaphore ccp->mutex is used as mutex, convert it to the mutex API

Signed-off-by: Matthias Kaehlcke <[EMAIL PROTECTED]>

Index: linux-2.6/drivers/usb/misc/auerswald.c
===
--- linux-2.6.orig/drivers/usb/misc/auerswald.c 2008-02-18 20:17:08.0 
+0100
+++ linux-2.6/drivers/usb/misc/auerswald.c  2008-02-18 20:28:02.0 
+0100
@@ -254,7 +254,7 @@
 /* character device context */
 typedef struct
 {
-   struct semaphore mutex; /* protection in user context */
+   struct mutex mutex; /* protection in user context */
pauerswald_t auerdev;   /* context pointer of assigned device */
 auerbufctl_t bufctl;/* controls the buffer chain */
 auerscon_t scontext;/* service context */
@@ -1390,7 +1390,7 @@
}
 
/* Initialize device descriptor */
-   init_MUTEX( &ccp->mutex);
+   mutex_init(&ccp->mutex);
mutex_init(&ccp->readmutex);
 auerbuf_init (&ccp->bufctl);
 ccp->scontext.id = AUH_UNASSIGNED;
@@ -1433,23 +1433,23 @@
 dbg ("ioctl");
 
/* get the mutexes */
-   if (down_interruptible (&ccp->mutex)) {
+   if (mutex_lock_interruptible(&ccp->mutex)) {
return -ERESTARTSYS;
}
cp = ccp->auerdev;
if (!cp) {
-   up (&ccp->mutex);
+   mutex_unlock(&ccp->mutex);
 return -ENODEV;
}
if (mutex_lock_interruptible(&cp->mutex)) {
-   up(&ccp->mutex);
+   mutex_unlock(&ccp->mutex);
return -ERESTARTSYS;
}
 
/* Check for removal */
if (!cp->usbdev) {
mutex_unlock(&cp->mutex);
-   up(&ccp->mutex);
+   mutex_unlock(&ccp->mutex);
 return -ENODEV;
}
 
@@ -1552,7 +1552,7 @@
 }
/* release the mutexes */
mutex_unlock(&cp->mutex);
-   up(&ccp->mutex);
+   mutex_unlock(&ccp->mutex);
return ret;
 }
 
@@ -1575,18 +1575,18 @@
return 0;
 
/* get the mutex */
-   if (down_interruptible (&ccp->mutex))
+   if (mutex_lock_interruptible(&ccp->mutex))
return -ERESTARTSYS;
 
/* Can we expect to read something? */
if (ccp->scontext.id == AUH_UNASSIGNED) {
-   up (&ccp->mutex);
+   mutex_unlock(&ccp->mutex);
 return -EIO;
}
 
/* only one reader per device allowed */
if (mutex_lock_interruptible(&ccp->readmutex)) {
-   up (&ccp->mutex);
+   mutex_unlock(&ccp->mutex);
return -ERESTARTSYS;
}
 
@@ -1604,7 +1604,7 @@
if (copy_to_user (buf, bp->bufp+ccp->readoffset, 
count)) {
dbg ("auerswald_read: copy_to_user failed");
mutex_unlock(&ccp->readmutex);
-   up (&ccp->mutex);
+   mutex_unlock(&ccp->mutex);
return -EFAULT;
}
}
@@ -1619,7 +1619,7 @@
/* return with number of bytes read */
if (count) {
mutex_unlock(&ccp->readmutex);
-   up (&ccp->mutex);
+   mutex_unlock(&ccp->mutex);
return count;
}
}
@@ -1656,12 +1656,12 @@
set_current_state (TASK_RUNNING);
remove_wait_queue (&ccp->readwait, &wait);
mutex_unlock(&ccp->readmutex);
-   up (&ccp->mutex);
+   mutex_unlock(&ccp->mutex);
return -EAGAIN;  /* nonblocking, no data available */
 }
 
/* yes, we should wait! */
-   up (&ccp->mutex); /* allow other operations while we wait */
+   mutex_unlock(&ccp->mutex); /* allow other operations while we wait */
schedule();
remove_wait_queue (&ccp->readwait, &wait);
if (signal_pending (current)) {
@@ -1676,7 +1676,7 @@
return -EIO;
}
 
-   if (down_interruptible (&ccp->mutex)) {
+   if (mutex_lock_interruptible(&ccp->mutex)) {
mutex_unlock(&ccp->readmutex);
return -ERESTARTSYS;
}
@@ -1708,27 +1708,27 @@
 
 write_again:
/* get the mutex */
-   if (down_interruptible (&ccp->mutex))
+   if (mutex_lock_interruptible(&ccp->mutex))
return -ERESTARTSYS;
 
/* Can we expect to write something? */
if (ccp->scontext.id == AUH_UNASSIGNED) {
-   up (&ccp->mutex);
+   mutex_unlock(&ccp->mutex);
 return -EIO;
}
 
cp = ccp->auerdev;
if (!cp) {
-   up (&ccp->mutex);
+   mutex_unlock(&ccp->mutex);
return -ERESTARTSYS;
}

[patch 0/3] USB Auerswald ISDN: Convert semaphores to mutexes

2008-02-18 Thread matthias
USB Auerswald ISDN driver: The semaphores cp->mutex, ccp->readmutex and 
ccp->mutex are used as mutexes, convert them to the muxex API

-- 
Matthias Kaehlcke
Linux System Developer
Barcelona

  We build too many walls and not enough bridges
 (Isaac Newton)
 .''`.
using free software / Debian GNU/Linux | http://debian.org  : :'  :
`. `'`
gpg --keyserver pgp.mit.edu --recv-keys 47D8E5D4  `-
-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[patch 2/3] Convert ccp->readmutex in a mutex

2008-02-18 Thread matthias
The semaphore ccp->readmutex is used as mutex, convert it to the mutex API

Signed-off-by: Matthias Kaehlcke <[EMAIL PROTECTED]>

Index: linux-2.6/drivers/usb/misc/auerswald.c
===
--- linux-2.6.orig/drivers/usb/misc/auerswald.c 2008-02-18 20:12:55.0 
+0100
+++ linux-2.6/drivers/usb/misc/auerswald.c  2008-02-18 20:10:00.0 
+0100
@@ -259,7 +259,7 @@
 auerbufctl_t bufctl;/* controls the buffer chain */
 auerscon_t scontext;/* service context */
wait_queue_head_t readwait; /* for synchronous reading */
-   struct semaphore readmutex; /* protection against multiple reads */
+   struct mutex readmutex; /* protection against multiple reads */
pauerbuf_t readbuf; /* buffer held for partial reading */
unsigned int readoffset;/* current offset in readbuf */
unsigned int removed;   /* is != 0 if device is removed */
@@ -1391,7 +1391,7 @@
 
/* Initialize device descriptor */
init_MUTEX( &ccp->mutex);
-   init_MUTEX( &ccp->readmutex);
+   mutex_init(&ccp->readmutex);
 auerbuf_init (&ccp->bufctl);
 ccp->scontext.id = AUH_UNASSIGNED;
 ccp->scontext.dispatch = auerchar_ctrlread_dispatch;
@@ -1585,7 +1585,7 @@
}
 
/* only one reader per device allowed */
-   if (down_interruptible (&ccp->readmutex)) {
+   if (mutex_lock_interruptible(&ccp->readmutex)) {
up (&ccp->mutex);
return -ERESTARTSYS;
}
@@ -1603,7 +1603,7 @@
if (count) {
if (copy_to_user (buf, bp->bufp+ccp->readoffset, 
count)) {
dbg ("auerswald_read: copy_to_user failed");
-   up (&ccp->readmutex);
+   mutex_unlock(&ccp->readmutex);
up (&ccp->mutex);
return -EFAULT;
}
@@ -1618,7 +1618,7 @@
}
/* return with number of bytes read */
if (count) {
-   up (&ccp->readmutex);
+   mutex_unlock(&ccp->readmutex);
up (&ccp->mutex);
return count;
}
@@ -1655,7 +1655,7 @@
 dbg ("No read buffer available, returning -EAGAIN");
set_current_state (TASK_RUNNING);
remove_wait_queue (&ccp->readwait, &wait);
-   up (&ccp->readmutex);
+   mutex_unlock(&ccp->readmutex);
up (&ccp->mutex);
return -EAGAIN;  /* nonblocking, no data available */
 }
@@ -1666,18 +1666,18 @@
remove_wait_queue (&ccp->readwait, &wait);
if (signal_pending (current)) {
/* waked up by a signal */
-   up (&ccp->readmutex);
+   mutex_unlock(&ccp->readmutex);
return -ERESTARTSYS;
}
 
/* Anything left to read? */
if ((ccp->scontext.id == AUH_UNASSIGNED) || ccp->removed) {
-   up (&ccp->readmutex);
+   mutex_unlock(&ccp->readmutex);
return -EIO;
}
 
if (down_interruptible (&ccp->mutex)) {
-   up (&ccp->readmutex);
+   mutex_unlock(&ccp->readmutex);
return -ERESTARTSYS;
}
 

-- 
Matthias Kaehlcke
Linux System Developer
Barcelona

  We build too many walls and not enough bridges
 (Isaac Newton)
 .''`.
using free software / Debian GNU/Linux | http://debian.org  : :'  :
`. `'`
gpg --keyserver pgp.mit.edu --recv-keys 47D8E5D4  `-
-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: usb device handled by ohci and not by ehci

2008-02-18 Thread David Brownell
On Monday 18 February 2008, Alan Stern wrote:
> I don't know what's going on with your Mac OSX test; however the lsusb
> output indicates plainly that the Samsung device does not run at high
> speed.  The key point is lack of a Device Qualifier descriptor -- it
> is mandatory for high-speed devices (and notice that it is present in
> the working Toshiba device).

That's what it looked like to me too ... but there are still some
old versions of "lsusb" floating around, which don't even try to
dump the device qualifier.

If both those descriptor dumps were made on the same system, and
hence same "lsusb" binary, then it would seem clear that the issue
is just that the Samsung device won't run at high speed.

- Dave

-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Gadgetfs problem.

2008-02-18 Thread David Brownell
On Monday 18 February 2008, hui zhuu wrote:
> Hi Dave,
> 
> After the stress test and backport gadget code from
> 2.6.24 to my current 2.6.20 version, the problem
> remains .

Suggesting more strongly that it's the "d12" driver
which is making trouble.


> It always reports error when responding to the
> following setup request:
> 
> SETUP 80.06 v0300 i l00ff

See below ... this is *after* the problem.  The fact
that you see an error with this request is a side
effect of the bug.


> usb.c always fails at replying to this request, it
> reports:
> 
> write string data: Device or resource busy
> ep0 read after poll: Level 2 halted 
> 
> I don't know if AIO is mandantory for this
> enumaration, as I did not use AIO.
> 
> I also got something DEBUG message from gadgetfs as
> the following:
> 
> SETUP 80.06 v0300 i l00ff
> gadgetfs: delegate req80.06 v0300 i l255
> gadgetfs: event[1] = 3
> gadgetfs: ep0 request busy!

Did you look at the gadgetfs source to see *WHY* that
message was emitted?  It explains much of what the
problem is.  Specifically, setup_out_ready is set.

And a simple examination of the code shows that there's
only one way that can be nonzero:  there was an ep0out
request, and its data didn't get up to userspace yet.

What request was that?  Is your d12 driver handling
its part of that request correctly ... including the
code paths which clear that flag after it gets set?

- Dave



> gadgetfs: ep0in stall
> 
> Any suggestion for me?
> 
> Thanks ...
> 
> 
> --- David Brownell <[EMAIL PROTECTED]>写道:
> 
> > On Thursday 14 February 2008, hui zhuu wrote:
> > > > > Thanks, anyway, how can I find the if version
> > of
> > > > the
> > > > > gadgetfs.h is wrong?
> > > > 
> > > > Use the version of the header from the kernel
> > that
> > > > you're running with.
> > > 
> > > I just did that, the problem is still there.
> > > 
> > > This is strange, as our d12 driver works ok with
> > the
> > > serial/ether/file_storage gadget, from this point
> > can
> > > I suppose it is sufficient to hooks up with
> > gadgetfs?
> > 
> > It could be.  Does g_zero work well in stress test
> > mode?
> > (That is, running all the tests in the test script,
> > for
> > several days at a time ... try it over this
> > weekend.)
> > 
> > Usually the problem with gadgetfs has been a mode
> > for
> > handling control transfers that isn't widely used
> > ...
> > except in gadgetfs, and g_file_storage.
> > 
> >  
> > > The gadget code i am working with is form 2.6.20.4
> > > kernel tree, I think it's pretty new. Did I miss
> > > anything else?
> > 
> > I've not used gadgetfs much lately, beyond just a
> > quick sanity test on 2.6.24 to sort out that one
> > issue (which turned out to be in userspace).
> > 
> > So, all I can say for sure is:  try 2.6.24 and see
> > if that works for you too.
> > 
> > - Dave
> > 


-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Nikon D80 new FW still needs Fixup

2008-02-18 Thread Phil Dibowitz
Konstantin Kletschke wrote:
> Am 2008-02-18 03:09 -0800 schrieb Phil Dibowitz:
> 
>> This looks fine to me. For form's sake, can I get we copy of
>> /proc/bus/usb/devices with the device plugged in?
> 
> You mean this?

Yup. Thanks.

I just noticed your patch is missing a "Signed-off-by" line, can you please
re-send your patch with that added, and I can then add mine and pass it on
upstream? See Documentation/SubmittingPatches for more details. Let me know
if you have any questions.

Thanks.
-- 
Phil Dibowitz [EMAIL PROTECTED]
Open Source software and tech docsInsanity Palace of Metallica
http://www.phildev.net/   http://www.ipom.com/

"Never write it in C if you can do it in 'awk';
 Never do it in 'awk' if 'sed' can handle it;
 Never use 'sed' when 'tr' can do the job;
 Never invoke 'tr' when 'cat' is sufficient;
 Avoid using 'cat' whenever possible" -- Taylor's Laws of Programming




signature.asc
Description: OpenPGP digital signature


Problem with USB detection [Device not following USB spec but works in windows!!]

2008-02-18 Thread Akshay Srinivas
Hi all,

I have 1 more USB which is not gettingdetected. Following is the
information and my analysis on it

Error:
usb 2-1: device not accepting address 3, error -71
usb 2-1: device not accepting address 4, error -71

In hub.c i tried both the old scheme and the new scheme but still it
doesnt work. The error comes when hub driver is trying to assign a
unique address(which the device is not able to accept) , with the new
scheme we first send a 64 byte get_device_descriptor and get the ep0
max packet size(Dont know what it is?), but it appears that device is
not able to accept this standard request. Even set_address is failing
(It shd not fail right?). Currently i dont have the USB stick i have
asked them to courier it to me. Once it comes i will try to analyse in
detail. But still it appears device is not following the spec. I guess
according to the USB spec device should respond to device descriptor
request? . But i dont know why 64 byte device descriptor request is
made(it is working for normal USB's for which kernel makes 64 btye
request), The size of the descriptor is 18 bytes, but kernel can ask
for <= 18 bytes right?
Any clues on this error will be helpful? Will keep updating u on my
observations and analysis.

Warm Regards,
Akshay
-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] USB: Simplify EHCI's itd_urb_transaction()

2008-02-18 Thread David Brownell
On Monday 18 February 2008, Karsten Wiese wrote:
> 
> stream->free_list is either empty or contains ITD(s).
> Spare an "if (!itd)" and only do another after dma_pool_alloc().
> 
> Signed-off-by: Karsten Wiese <[EMAIL PROTECTED]>

Can you update this to do the same for sitd_urb_transaction()?


> ---
>  drivers/usb/host/ehci-sched.c |   15 ++-
>  1 files changed, 6 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/usb/host/ehci-sched.c b/drivers/usb/host/ehci-sched.c
> index e3e85ab..d009d3c 100644
> --- a/drivers/usb/host/ehci-sched.c
> +++ b/drivers/usb/host/ehci-sched.c
> @@ -1182,21 +1182,18 @@ itd_urb_transaction (
>   struct ehci_itd, itd_list);
>   list_del (&itd->itd_list);
>   itd_dma = itd->itd_dma;
> - } else
> - itd = NULL;
> -
> - if (!itd) {
> + } else {
>   spin_unlock_irqrestore (&ehci->lock, flags);
>   itd = dma_pool_alloc (ehci->itd_pool, mem_flags,
>   &itd_dma);
>   spin_lock_irqsave (&ehci->lock, flags);
> + if (unlikely(!itd)) {
> + iso_sched_free(stream, sched);
> + spin_unlock_irqrestore(&ehci->lock, flags);
> + return -ENOMEM;
> + }
>   }
>  
> - if (unlikely (NULL == itd)) {
> - iso_sched_free (stream, sched);
> - spin_unlock_irqrestore (&ehci->lock, flags);
> - return -ENOMEM;
> - }
>   memset (itd, 0, sizeof *itd);
>   itd->itd_dma = itd_dma;
>   list_add (&itd->itd_list, &sched->td_list);
> -- 
> 1.5.3.8
> 


-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: USB enumeration process

2008-02-18 Thread Felipe Balbi
On Feb 18, 2008 5:15 PM, Alan Stern <[EMAIL PROTECTED]> wrote:
> On Mon, 18 Feb 2008, Felipe Balbi wrote:
>
> > Thanks Alan for the quick reply :-)
> > what I really wanna know is when we match/bind drivers to usb_interfaces.
>
> That's in message.c:usb_set_configuration().  It occurs near the end of
> that routine, in the call to device_add().

Thanks again Alan.

-- 
Best Regards,

Felipe Balbi
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html