Subject: kern/35275: RCA Lyra flash device/music player will not mount as umass device
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <dhgutteridge@sympatico.ca>
List: netbsd-bugs
Date: 12/19/2006 02:15:01
>Number:         35275
>Category:       kern
>Synopsis:       RCA Lyra flash device/music player will not mount as umass device
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Dec 19 02:15:00 +0000 2006
>Originator:     David H. Gutteridge
>Release:        3.1
>Organization:
>Environment:
NetBSD arcusv.nonus-porta.net 3.1 NetBSD 3.1 (ARCUSV) #0: Mon Dec 11 00:36:20 EST 2006  root@arcusv.nonus-porta.net:/usr/src/sys/arch/macppc/compile/ARCUSV macppc

>Description:
Trying to mount an RCA Lyra (MC2020A model according to the back) as a
umass device doesn't work.  (The Lyra is a low-end personal audio device,
mine has 512MB of flash on board, plus it accepts CF cards to expand its
capabilities.)

If I try to mount it, the process takes forever, and then fails, viz.:

[root@arcusv:root]# mount_msdos -o ro /dev/sd0a /mnt
mount_msdos: /dev/sd0a on /mnt: Device not configured

Trying to run disklabel sd0 seems to just run forever, until I send it a
signal to hang up.

Particulars that show up in dmesg are:

umass0 at uhub0 port 1 configuration 1 interface 0
umass0: THOMSON RCA_MPCF2472_US, rev 1.10/10.01, addr 2
umass0: using SCSI over Bulk-Only
scsibus0 at umass0: 2 targets, 2 luns per target
sd0 at scsibus0 target 0 lun 0: <THOMSON, RCA_MPCF2472_US, 0100> disk removable
sd0: fabricating a geometry
sd0: 122 MB, 122 cyl, 64 head, 32 sec, 512 bytes/sect x 250688 sectors
sd1 at scsibus0 target 0 lun 1: <THOMSON, RCA_MPCF2472_US, 0100> disk removable
sd1: drive offline
sd0: fabricating a geometry
umass0: BBB reset failed, TIMEOUT
umass0: BBB reset failed, TIMEOUT
umass0: BBB bulk-in clear stall failed, TIMEOUT
umass0: BBB bulk-out clear stall failed, IOERROR
umass0: BBB bulk-in stall clear failed, IOERROR
umass0: BBB reset failed, IOERROR
umass0: BBB bulk-in clear stall failed, IOERROR
umass0: BBB bulk-out clear stall failed, IOERROR
umass0: BBB reset failed, IOERROR
umass0: BBB bulk-in clear stall failed, IOERROR
umass0: BBB bulk-out clear stall failed, IOERROR
umass0: BBB reset failed, IOERROR
umass0: BBB bulk-in clear stall failed, IOERROR
umass0: BBB bulk-out clear stall failed, IOERROR
sd0: I/O error reading block zero
umass0: BBB bulk-out stall clear failed, IOERROR
umass0: BBB reset failed, IOERROR

(... and so on, until mount gives up.)

Note that the geometry that's fabricated is incorrect, it thinks it
only has 122MB instead of 512MB.
>How-To-Repeat:
Try mounting one of these critters.
>Fix: