Mount usbfs on linux 3.10 kernel

Torrius picture Torrius · Sep 11, 2014 · Viewed 8.2k times · Source

I did upgrade linux kernel from 2.6 to 3.10 version In init nn 2.6 I did mount usbfs mount -t usbfs usbfs /proc/bus/usb -onodev,nosuid,noexec

To enable usbfs I did CONFIG_USB_DEVICEFS=y and CONFIG_USB_DEVICE_CLASS=y in kernel's config but they are obsolete in 3.10 kernels

So how yo emulate usbfs on 3.10 kernel? I found the folowing topic https://bugs.launchpad.net/ubuntu/+source/linux/+bug/488274

Where is adviced to make

mount --bind /dev/bus /proc/bus
ln -s /sys/kernel/debug/usb/devices /proc/bus/usb/devices

but mount --bind /dev/bus /proc/bus says me

mount: special device /dev/bus does not exist

There is no /dev/bus at all

Does anybody have thoughts which can help me?

Answer

Guest picture Guest · May 2, 2015

I had the same problem. The cause of this issue is that libusb looks in /dev/bus/usb, but recent kernels move this into sysfs under /sys/bus/usb.

What I did was ln -s /sys/bus /dev/bus to create a symlink from dev to sys so that libusb could find the usb subsystem.

Alternately, you can use a bind mount. The problem with your command is that the target mount point needs to exist before the bind mount can succeed. In this case mkdir /dev/bus.