On Mon, 13 Feb 2006, Oliver Hernandez Valls wrote:
> Hello,
> I'm new in this list and in driver's world.
> My sister have a Philips HDD 1620 device. Its a mp3 device
> with 6GB of storage space and it's no a standard usb device because
> it doesn't work with the linux/mac/windows standard usb drivers. To
> comunicate with the device it's supplied a plugin for the WMedia
> player 10. The device box is marked with the PlayForSure logo.
> But at home my main systems are Linux and Mac. So I'm
> trying to make it work in Linux.
That's not a good situation. Unless you know how the device works, you're
reduced to guessing... and your guesses will probably be wrong.
> I started plugin the device to my linux box and I obtained
> this message:
>
> [17193362.540000] usb 1-1: new full speed USB device using uhci_hcd
> and address 2
>
> Then looking in /proc/bus/usb/devices I saw:
>
> T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
> B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
> D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
> P: Vendor=0000 ProdID=0000 Rev= 2.06
> S: Manufacturer=Linux 2.6.15 uhci_hcd
> S: Product=UHCI Host Controller
> S: SerialNumber=0000:00:1d.0
> C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA
> I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
> E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms
>
> T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
> D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
> P: Vendor=0471 ProdID=014c Rev= 0.01
> S: Manufacturer=Philips
> S: Product=Philips HDD14XX GoGear
> S: SerialNumber= DNP630B4S9AVRA
> C:* #Ifs= 1 Cfg#=128 Atr=c0 MxPwr=100mA
> I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff
> Driver=(none)
> E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
> E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
> E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=100ms
>
> Ok, the device was detected but nothing happened.
> Downloading the kernel sources 2.6.15 and reading some code
> I found the file drivers/usb/storage/unusual_devs.h.
> I tryed to add this:
>
> UNUSUAL_DEV( 0x0471, 0x014c, 0x0000, 0x9999,
> "Philips",
> "Philips HDD14XX GoGear",
> US_SC_RBC, US_PR_CBI, NULL, US_FL_BULK32),
>
> and tryed to change various times the flags param and never
> worked,
For the last line, if the device was standard you would put
US_SC_SCSI, US_PR_BULK, NULL, 0),
What you have above (US_PR_CBI together with US_FL_BULK32) makes no sense
at all. However, since the device isn't standard even this probably won't
work.
> ...
> [17179766.096000] usb 1-1: new full speed USB device using uhci_hcd
> and address 2
> [17179766.604000] SCSI subsystem initialized
> [17179766.696000] Initializing USB Mass Storage driver...
> [17179766.700000] scsi0 : SCSI emulation for USB Mass Storage
> devices
> [17179766.700000] usbcore: registered new driver usb-storage
> [17179766.700000] USB Mass Storage support registered.
> [17179766.700000] usb-storage: device found at 2
> [17179766.700000] usb-storage: waiting for device to settle before
> scanning
> [17179771.812000] usb 1-1: reset full speed USB device using
> uhci_hcd and address 2
> [17179772.064000] usb 1-1: reset full speed USB device using
> uhci_hcd and address 2
> [17179772.196000] usb 1-1: can't restore configuration #128
> (error=-32)
> [17179772.196000] usb 1-1: USB disconnect, address 2
> [17179772.200000] usb-storage: device scan complete
> [17179772.324000] usb 1-1: new full speed USB device using uhci_hcd
> and address 3
> [17179772.468000] usb 1-1: can't set config #128, error -32
> [17179772.588000] usb 1-1: new full speed USB device using uhci_hcd
> and address 4
> [17179772.732000] usb 1-1: can't set config #128, error -32
> [17179772.844000] usb 1-1: new full speed USB device using uhci_hcd
> and address 5
> [17179772.872000] usb 1-1: can't set config #128, error -32
> [17179772.984000] usb 1-1: new full speed USB device using uhci_hcd
> and address 6
> [17179773.012000] usb 1-1: can't set config #128, error -32
> ...
>
> but whatever the flag was I allways obained the same error
>
> [17179772.468000] usb 1-1: can't set config #128, error -32
Actually the real error was this:
[17179772.196000] usb 1-1: can't restore configuration #128 (error=-32)
The later errors were results of this one.
> I've seen that this error is thrown in the hub.c file,
> concretely in the usb_new_device(usb_device) function. It calls
> usb_set_configuration(usb_device, configuration) at messages.c. I
> think the first thing that this function does is check that the
> configuration received is in the usb_device structure. This
> configuration is not found in the structure so the error is thrown.
Wrong. The configuration _is_ found. The error occurs in the call to
usb_control_msg.
> By the data in /proc the configuration trying to assign is
> the correct one.
> When choosing the configuration in hub.c we used the same
> structure than when setting the configuration in messages.c so I
> don't understand how it could'nt find the configuration selected
> before. As is seen in proc the device is informing correctly the
> number of configurations (one).
>
> Can somebody give me some light please!
> Do you think it's possible to make this device work?
Not unless you can find out how it's supposed to work. You might be able
to do this by tracing the USB packets sent by the Windows driver. Or you
might able to get the information from the manufacturer.
Alan Stern
-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users