can't mount usbfs in Android 2.2

I am having trouble with mounting usbfs on my BeagleBoard xM running
Android 2.2 kernel 2.6.32.

My USB devices are working normally (keyboard, mouse, and adb via mini
USB from Ubuntu 10.04).

It appears that the usbfs driver is registered normally during
startup, as shown by dmesg output:

...
<6>OMAP DMA hardware revision 5.0
<4>bio: create slab <bio-0> at 0
<5>SCSI subsystem initialized
<6>usbcore: registered new interface driver usbfs
<6>usbcore: registered new interface driver hub
<6>usbcore: registered new device driver usb
...

However, usbfs is not listed in /proc/mounts, after startup:

  tmpfs /dev tmpfs rw,relatime,mode=755 0 0
  devpts /dev/pts devpts rw,relatime,mode=600 0 0
  proc /proc proc rw,relatime 0 0
  sysfs /sys sysfs rw,relatime 0 0
  tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
  /dev/block/vold/179:3 /mnt/sdcard vfat
rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-
ro 0 0
  /dev/block/vold/179:3 /mnt/secure/asec vfat
rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-
ro 0 0
  tmpfs /mnt/sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000
0 0

I had expected to see something like "usbfs on /proc/bus/usb type
usbfs (rw)" in there. Also, the usbfs device doesn't show up in df
output:

/: 1897452K total, 140748K used, 1756704K available (block size 4096)
/: 1897452K total, 140748K used, 1756704K available (block size 4096)
/dev: 251140K total, 12K used, 251128K available (block size 4096)
/mnt/asec: 251140K total, 0K used, 251140K available (block size 4096)
/mnt/sdcard: 1859888K total, 12K used, 1859876K available (block size
4096)
/mnt/secure/asec: 1859888K total, 12K used, 1859876K available (block
size 4096)

I attempted to mount usbfs during startup by adding to the init.rc, in
the "on boot" section, to no avail (based on advice from numerous
sources):

    mount -t usbfs -o devmode=0666 none /proc/bus/usb

If I try to use this command after startup is complete, I get "mount:
No such file or directory". My /proc/bus folder exists on the device,
its only content is the folder "input". I can't seem to find any
references in the various groups, about this problem when mounting
usbfs.

In addition to the failure to mount, a program I wrote to use usbfs
(via libusb) fails when it tries to initialize the usbfs backend. I
assume this is because the usbfs isn't mounted. (In particular, the
libusb source module core.c fails in its method libusb_init at the
call to usbi_backend->init(), which returns "-99" - usbi_backend in
this case is linux_usbfs_backend).

Any help would be much appreciated.

where/how to did you build ther Android?

— On Fri, 1/7/11, Eric westposted@gmail.com wrote:


> From: Eric westposted@gmail.com
> Subject: [beagleboard] can’t mount usbfs in Android 2.2
> To: “Beagle Board” beagleboard@googlegroups.com
> Date: Friday, January 7, 2011, 4:43 PM
>
> I am having trouble with mounting usbfs on my BeagleBoard xM running
> Android 2.2 kernel 2.6.32.
>
> My USB devices are working normally (keyboard, mouse, and adb via mini
> USB from Ubuntu 10.04).
>
> It appears that the usbfs driver is registered normally during
> startup, as shown by dmesg output:
>
> …
> <6>OMAP DMA hardware revision 5.0
> <4>bio: create slab at 0
> <5>SCSI subsystem initialized
> <6>usbcore: registered new interface driver usbfs
> <6>usbcore: registered new interface driver hub
> <6>usbcore: registered new device driver usb
> …
>
> However, usbfs is not listed in /proc/mounts, after startup:
>
> tmpfs /dev tmpfs rw,relatime,mode=755 0 0
> devpts /dev/pts devpts rw,relatime,mode=600 0 0
> proc /proc proc rw,relatime 0 0
> sysfs /sys sysfs rw,relatime 0 0
> tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
> /dev/block/vold/179:3 /mnt/sdcard vfat
> rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-
> ro 0 0
> /dev/block/vold/179:3 /mnt/secure/asec vfat
> rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-
> ro 0 0
> tmpfs /mnt/sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000
> 0 0
>
> I had expected to see something like “usbfs on /proc/bus/usb type
> usbfs (rw)” in there. Also, the usbfs device doesn’t show up in df
> output:
>
> /: 1897452K total, 140748K used, 1756704K available (block size 4096)
> /: 1897452K total, 140748K used, 1756704K available (block size 4096)
> /dev: 251140K total, 12K used, 251128K available (block size 4096)
> /mnt/asec: 251140K total, 0K used, 251140K available (block size 4096)
> /mnt/sdcard: 1859888K total, 12K used, 1859876K available (block size
> 4096)
> /mnt/secure/asec: 1859888K total, 12K used, 1859876K available (block
> size 4096)
>
> I attempted to mount usbfs during startup by adding to the init.rc, in
> the “on boot” section, to no avail (based on advice from numerous
> sources):
>
> mount -t usbfs -o devmode=0666 none /proc/bus/usb
>
> If I try to use this command after startup is complete, I get “mount:
> No such file or directory”. My /proc/bus folder exists on the device,
> its only content is the folder “input”. I can’t seem to find any
> references in the various groups, about this problem when mounting
> usbfs.
>
> In addition to the failure to mount, a program I wrote to use usbfs
> (via libusb) fails when it tries to initialize the usbfs backend. I
> assume this is because the usbfs isn’t mounted. (In particular, the
> libusb source module core.c fails in its method libusb_init at the
> call to usbi_backend->init(), which returns “-99” - usbi_backend in
> this case is linux_usbfs_backend).
>
> Any help would be much appreciated.
>
> –
> You received this message because you are subscribed to the Google Groups “Beagle Board” group.
> To post to this group, send email to beagleboard@googlegroups.com.
> To unsubscribe from this group, send email to beagleboard+unsubscribe@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/beagleboard?hl=en.

|

I build the "rowboat" Android for OMAP devices like the BeagleBoard -
stock rowboat source.

http://code.google.com/p/rowboat/

Additional info: the kernel config parameter CONFIG_USB_DEVICEFS is
set ("y").

SOLVED - setting the CONFIG_USB_DEVICEFS kernel parameter did the
trick.