Bug 8846 - Ainol U60 MP4 player is not supported
Summary: Ainol U60 MP4 player is not supported
Status: REJECTED UNREPRODUCIBLE
Alias: None
Product: Drivers
Classification: Unclassified
Component: USB (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Alan Stern
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-08-06 09:10 UTC by Christophe Dumez
Modified: 2008-09-24 06:43 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.22
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
Hald verbose output when pluging the device (15.38 KB, text/plain)
2007-08-06 09:12 UTC, Christophe Dumez
Details
kern.log output (12.17 KB, text/x-log)
2007-08-06 10:53 UTC, Christophe Dumez
Details
kern.log with usb debug enabled (43.01 KB, application/octet-stream)
2007-08-06 13:28 UTC, Christophe Dumez
Details
dmesg output with usb debug enabled (92.04 KB, application/octet-stream)
2007-08-06 13:30 UTC, Christophe Dumez
Details
dmesg output with usb debug enabled and scsi async disabled (86.04 KB, application/octet-stream)
2007-08-07 12:03 UTC, Christophe Dumez
Details
SnoopyPro sniff on Windows XP (113.56 KB, application/zip)
2007-08-07 13:49 UTC, Christophe Dumez
Details
Read only one block at block 0 (465 bytes, patch)
2007-08-08 08:39 UTC, Alan Stern
Details | Diff
dmesg output after patch (85.87 KB, text/plain)
2007-08-08 10:24 UTC, Christophe Dumez
Details
dmesg output after patch (80.63 KB, text/plain)
2007-08-09 02:09 UTC, Christophe Dumez
Details
unusual_devs entry for AINOL U60 (681 bytes, patch)
2007-08-09 08:52 UTC, Alan Stern
Details | Diff
dmesg output after second patch (84.04 KB, text/plain)
2007-08-09 11:58 UTC, Christophe Dumez
Details
dmesg after both patches (79.36 KB, application/octet-stream)
2007-08-09 21:32 UTC, Christophe Dumez
Details

Description Christophe Dumez 2007-08-06 09:10:19 UTC
Most recent kernel where this bug did not occur: None
Distribution: Ubuntu Gutsy
Hardware Environment:
Software Environment:
Problem Description: I'm using 2.6.22 kernel from Ubuntu. I just bought a new mp4 player (Ainol U60). It is using Linux and it should behave as an usb mass storage device. However, it refuses to mount.
I posted hald verbose output there: http://pastebin.ca/647602
Steps to reproduce:
Comment 1 Christophe Dumez 2007-08-06 09:12:23 UTC
Created attachment 12276 [details]
Hald verbose output when pluging the device
Comment 2 Greg Kroah-Hartman 2007-08-06 09:58:26 UTC
Can you please post the kernel log messages for when you plug in the device?
Comment 3 Anonymous Emailer 2007-08-06 10:41:41 UTC
Reply-To: akpm@linux-foundation.org

On Mon,  6 Aug 2007 09:03:53 -0700 (PDT) bugme-daemon@bugzilla.kernel.org wrote:

> http://bugzilla.kernel.org/show_bug.cgi?id=8846
> 
>            Summary: Ainol U60 MP4 player is not supported
>            Product: Drivers
>            Version: 2.5
>      KernelVersion: 2.6.22
>           Platform: All
>         OS/Version: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: normal
>           Priority: P1
>          Component: USB
>         AssignedTo: greg@kroah.com
>         ReportedBy: dchris@gmail.com
> 
> 
> Most recent kernel where this bug did not occur: None
> Distribution: Ubuntu Gutsy
> Hardware Environment:
> Software Environment:
> Problem Description: I'm using 2.6.22 kernel from Ubuntu. I just bought a new
> mp4 player (Ainol U60). It is using Linux and it should behave as an usb mass
> storage device. However, it refuses to mount.
> I posted hald verbose output there: http://pastebin.ca/647602
> Steps to reproduce:
> 
Comment 4 Felipe Balbi 2007-08-06 10:49:08 UTC
(In reply to comment #3)
> Reply-To: akpm@linux-foundation.org
> 
> On Mon,  6 Aug 2007 09:03:53 -0700 (PDT) bugme-daemon@bugzilla.kernel.org
> wrote:
> 
> > http://bugzilla.kernel.org/show_bug.cgi?id=8846
> > 
> >            Summary: Ainol U60 MP4 player is not supported
> >            Product: Drivers
> >            Version: 2.5
> >      KernelVersion: 2.6.22
> >           Platform: All
> >         OS/Version: Linux
> >               Tree: Mainline
> >             Status: NEW
> >           Severity: normal
> >           Priority: P1
> >          Component: USB
> >         AssignedTo: greg@kroah.com
> >         ReportedBy: dchris@gmail.com
> > 
> > 
> > Most recent kernel where this bug did not occur: None
> > Distribution: Ubuntu Gutsy
> > Hardware Environment:
> > Software Environment:
> > Problem Description: I'm using 2.6.22 kernel from Ubuntu. I just bought a
> new
> > mp4 player (Ainol U60). It is using Linux and it should behave as an usb
> mass
> > storage device. However, it refuses to mount.
> > I posted hald verbose output there: http://pastebin.ca/647602
> > Steps to reproduce:
> > 
> 


could you also add lsusb output ??

Thanks
Comment 5 Christophe Dumez 2007-08-06 10:53:06 UTC
Created attachment 12279 [details]
kern.log output
Comment 6 Felipe Balbi 2007-08-06 10:55:16 UTC
Hi,

On 8/6/07, Andrew Morton <akpm@linux-foundation.org> wrote:
> On Mon,  6 Aug 2007 09:03:53 -0700 (PDT) bugme-daemon@bugzilla.kernel.org
> wrote:
>
> > http://bugzilla.kernel.org/show_bug.cgi?id=8846
> >
> >            Summary: Ainol U60 MP4 player is not supported
> >            Product: Drivers
> >            Version: 2.5
> >      KernelVersion: 2.6.22
> >           Platform: All
> >         OS/Version: Linux
> >               Tree: Mainline
> >             Status: NEW
> >           Severity: normal
> >           Priority: P1
> >          Component: USB
> >         AssignedTo: greg@kroah.com
> >         ReportedBy: dchris@gmail.com
> >
> >
> > Most recent kernel where this bug did not occur: None
> > Distribution: Ubuntu Gutsy
> > Hardware Environment:
> > Software Environment:
> > Problem Description: I'm using 2.6.22 kernel from Ubuntu. I just bought a
> new
> > mp4 player (Ainol U60). It is using Linux and it should behave as an usb
> mass
> > storage device. However, it refuses to mount.
> > I posted hald verbose output there: http://pastebin.ca/647602
> > Steps to reproduce:
> >

I've answered this on kernel bugzilla, re-posting here:
Maybe a lsusb -v -d XXXX:YYYY would help us identifying the problem.
Also dmesg output with CONFIG_USB_STORAGE_DEBUG=y  would also be
really helpfull



>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems?  Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >>  http://get.splunk.com/
> _______________________________________________
> linux-usb-devel@lists.sourceforge.net
> To unsubscribe, use the last form field at:
> https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
>
Comment 7 Christophe Dumez 2007-08-06 11:02:55 UTC
Concerning lsusb, it hangs with no output...

$ lsusb --version
lsusb (usbutils) 0.72
Comment 8 Christophe Dumez 2007-08-06 11:58:46 UTC
I'm compiling kernel 2.6.22.1 vanilla with CONFIG_USB_STORAGE_DEBUG=y

I'll give dmesg output as soon as it is done.
Comment 9 Christophe Dumez 2007-08-06 13:28:55 UTC
Created attachment 12282 [details]
kern.log with usb debug enabled
Comment 10 Christophe Dumez 2007-08-06 13:30:36 UTC
Created attachment 12283 [details]
dmesg output with usb debug enabled

Ok, as advised I enabled debug and here is the output. I hope this helps. Tell me if you need anything else.
Comment 11 Alan Stern 2007-08-07 09:05:19 UTC
You're facing two problems here.  One is that the mp4 player doesn't work right.  I don't think there's much we can do about that.

The second problem is a bug in the SCSI core; that's what caused the oops in your logs.  You can work around it by turning off CONFIG_SCSI_SCAN_ASYNC.  Try making that change and see what you get.
Comment 12 Christophe Dumez 2007-08-07 09:21:54 UTC
Ok. I'll try to disable CONFIG_SCSI_SCAN_ASYNC. What do you mean by the mp4 player doesn't work right? If I plug it on Windows, it does work just fine. Linux should be able to make it work too. Especially, because this mp4 is using Linux, you can expect Linux users to buy it (this is why I bought it).
Comment 13 Alan Stern 2007-08-07 09:45:20 UTC
I'm referring in particular to this part from one of the logs you posted:

[  180.616000] usb-storage: Command READ_10 (10 bytes)
[  180.616000] usb-storage:  28 00 00 00 00 00 00 00 08 00
[  180.616000] usb-storage: Bulk Command S 0x43425355 T 0xa L 4096 F 128 Trg 0 LUN 0 CL 10
[  180.616000] usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
[  180.616000] usb-storage: Status code 0; transferred 31/31
[  180.616000] usb-storage: -- transfer complete
[  180.616000] usb-storage: Bulk command transfer result=0
[  180.616000] usb-storage: usb_stor_bulk_transfer_sglist: xfer 4096 bytes, 1 entries
[  180.616000] usb-storage: Status code -121; transferred 64/4096
[  180.616000] usb-storage: -- short read transfer

Here the player was asked to transmit 4096 bytes and it sent only 64.

[  180.616000] usb-storage: Bulk data transfer result 0x1
[  180.616000] usb-storage: Attempting to get CSW...
[  180.616000] usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
[  180.616000] usb-storage: Status code -75; transferred 0/13
[  180.616000] usb-storage: -- babble

Here the player was supposed to send 13 bytes but it sent more.

[  180.616000] usb-storage: Bulk status result = 3
[  180.616000] usb-storage: -- transport indicates error, resetting
[  180.616000] usb-storage: storage_pre_reset
[  180.728000] usb 5-3: reset high speed USB device using ehci_hcd and address 2
[  195.840000] usb 5-3: device descriptor read/64, error -110
[  210.616000] usb-storage: command_abort called
[  211.056000] usb 5-3: device descriptor read/64, error -110

Here when the computer tried to recover from the previous errors, the device stopped replying entirely.

Those three mistakes on the part of the player are why I said it isn't working right.
Comment 14 Christophe Dumez 2007-08-07 12:03:22 UTC
Created attachment 12300 [details]
dmesg output with usb debug enabled and scsi async disabled

Ok I disabled CONFIG_SCSI_SCAN_ASYNC and I do not have any oops anymore. However, the mp4 player still isn't working. I attached the new dmesg output.

I really hope there is something you can do for this. I can try to contact the company who manufactures this mp4 player but they don't officially support Linux...
Comment 15 Alan Stern 2007-08-07 12:56:25 UTC
Is there a firmware upgrade available?

Can you use SnoopyPro on a Windows system to see how the device behaves?
Comment 16 Christophe Dumez 2007-08-07 13:16:38 UTC
There was a firmware upgrade (without any changelog). I applied it just before the  last log I posted here. No Change.

I'll try SnoopyPro on windows then.
Comment 17 Christophe Dumez 2007-08-07 13:49:20 UTC
Created attachment 12305 [details]
SnoopyPro sniff on Windows XP

I hope this helps
Comment 18 Alan Stern 2007-08-08 08:39:08 UTC
Created attachment 12316 [details]
Read only one block at block 0

The only significant difference I can see is that Windows reads the partition sector using a 1-sector read whereas Linux uses an 8-sector read.  As an experiment, the attached patch will force the Linux driver to read only a single sector.  Let's see what the verbose usb-storage debugging log shows.
Comment 19 Christophe Dumez 2007-08-08 10:24:30 UTC
Created attachment 12317 [details]
dmesg output after patch

I don't think there is any change.
Comment 20 Alan Stern 2007-08-08 12:37:08 UTC
Something went wrong.  It looks like you weren't using the patched driver; the first READ command was still for 8 sectors.  Here it is:

[  327.632000] usb-storage: Command READ_10 (10 bytes)
[  327.632000] usb-storage:  28 00 00 00 00 00 00 00 08 00
[  327.632000] usb-storage: Bulk Command S 0x43425355 T 0xa L 4096 F 128 Trg 0 LUN 0 CL 10

The "00 08" near the end of the second line is the number of sectors, and the "L 4096" on the third line is the total length (each sector is 512 bytes).
Comment 21 Christophe Dumez 2007-08-09 02:09:48 UTC
Created attachment 12328 [details]
dmesg output after patch

Device still isn't working but the log changed a little. I checked, It is reading only one sector this time.
Comment 22 Alan Stern 2007-08-09 08:52:59 UTC
Created attachment 12337 [details]
unusual_devs entry for AINOL U60

Right.  Just for your information, here's the sequence of commands sent by Linux:

INQUIRY, TEST UNIT READY, READ CAPACITY, MODE SENSE 3f, TEST UNIT READY, PREVENT MEDIUM REMOVAL, TEST UNIT READY, READ CAPACITY, MODE SENSE 3f, READ (error).

Windows sends these commands:

INQUIRY, READ FORMAT CAPACITIES (failed), REQUEST SENSE, READ FORMAT CAPACITIES (failed), REQUEST SENSE, READ FORMAT CAPACITIES (failed), REQUEST SENSE, READ CAPACITY, READ (succeeded).

I doubt that the lack of a READ FORMAT CAPACITIES command would cause problems.  It's possible the device doesn't like the PREVENT MEDIUM REMOVAL or MODE SENSE for 3f commands.  The attached patch will suppress them.  Let's see what the result is.
Comment 23 Christophe Dumez 2007-08-09 09:17:57 UTC
Ok. I'll try this one. I think this may be it because there is a "disconnect" command on the mp4 when it is connected to the computer.
Comment 24 Christophe Dumez 2007-08-09 11:58:22 UTC
Created attachment 12339 [details]
dmesg output after second patch

The device still is not working. I reverted the 1-sector read patch before applying the new patch (was I supposed to apply both?).

Can you confirm by looking at the log that the second patch was successfully applied? I think so but well, I'm a bit surprised there is no change.
Comment 25 Alan Stern 2007-08-09 12:21:17 UTC
The second patch was applied correctly; the log contains only INQUIRY, TEST UNIT READY, and READ CAPACITY commands before the READ.  And yet the READ still failed.

Maybe you should try applying both.  Who knows, it might do the trick...
Comment 26 Christophe Dumez 2007-08-09 21:32:36 UTC
Created attachment 12341 [details]
dmesg after both patches

Unfortunately, this didn't work either.
Comment 27 Alan Stern 2007-08-10 07:38:42 UTC
It sure didn't.

There's one more thing you can try.  It's a long shot, and it might not provide a useful solution even if it does succeed.

To do this you will need to download a build the plscsi program, available from

   http://members.aol.com/plscsi/linux/

Once you've got it, you will have to rename the sd_mod.ko file in /lib/modules/2.6.22.1/kernel/drivers/scsi to prevent it from being loaded automatically and messing up the device by sending unwanted commands.  Then you can use plscsi to send by hand an exact copy of the commands that Windows sends.  If they work then you've got a starting point.

Want to try?
Comment 28 Christophe Dumez 2007-08-10 07:51:23 UTC
I have a question (probably silly but I prefer to check first). My (only) hard drive is scsi too. Won't it mess with it if I rename sd_mod.ko?

Appart from this, I'm motivated to get the device working on Linux but I've never used plscsi before so this might be a bit difficult. Are you going to give me the commands I must issue? :)
Comment 29 Alan Stern 2007-08-10 07:58:55 UTC
Uh oh, I was afraid of that.  This won't work if you have another SCSI drive.  Yes, I was going to list the commands for you, but now there's no point.

If you want, you could ship the device to me so I can test it here.  I promise to send it back when I'm done.  :-)
Comment 30 Gábor Gludovátz 2007-08-25 12:50:24 UTC
Same problem here. My Conceptronic external hard disk, which connects through USB, kills the USB subsystem until the next reboot - sometimes the USB disk just works, mostly it does not. The same happens on my desktop computer and on my laptop, both with Kubuntu Linux.

Linux rr 2.6.20-15-generic #2 SMP Sun Apr 15 07:36:31 UTC 2007 i686 GNU/Linux
Comment 31 Alan 2008-09-24 06:43:08 UTC
Closing out stale bugs

Note You need to log in before you can comment on or make changes to this bug.