disable deprecated config option CONFIG_USB_DEVICEFS

Bug #488274 reported by Andy Whitcroft on 2009-11-25
32
This bug affects 3 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Andy Whitcroft
Karmic
Medium
Unassigned

Bug Description

SRU Justification:

Impact: We were talked into enable that for Karmic by users with broken applications without realizing the side-effect of breaking udev (as it implicitely changes event behavior).

Fix: Revert back to not have this option enabled. It is deprecated anyways and applications need to be fixed sooner than later.

---

This option is incompatible with the udev in karmic and lucid, leading to failure to load firmware files for various pieces of USB kit. It is also now deprecated and going away very shortly. We should therefore re-disable it. More details are in the thread below:

    http://markmail.org/message/3mw5yw465qmxgnwp

Although older versions of Virtualbox and VMWare needed it we do not believe that current versions use it.

Andy Whitcroft (apw) wrote :

Note that we only just enabled this in Karmic under bug #417748 and we may have to disable it there again.

description: updated
description: updated
Andy Whitcroft (apw) on 2009-11-25
Changed in linux (Ubuntu):
assignee: nobody → Andy Whitcroft (apw)
status: New → In Progress
Andy Whitcroft (apw) on 2009-11-30
tags: added: kernel-series-unknown
Andy Whitcroft (apw) wrote :

linux (2.6.32-6.7) lucid; urgency=low

  [ Andy Whitcroft ]

  * Revert "SAUCE: default ATI Radeon KMS to off until userspace catches up"
  * Revert "SAUCE: Dell XPS710 reboot quirk"
  * Revert "SAUCE: Link acpi-cpufreq.o first"
  * Revert "SAUCE: LPIA Logical reset of USB port on resume"
  * Revert "SAUCE: LPIA Reboot fix for Intel Crownbeach development boards"
  * Revert "SAUCE: Enable HDMI audio codec on Studio XPS 1340"
  * Revert "SAUCE: Dell laptop digital mic does not work, PCI 1028:0271"
  * Revert "Add Dell Dimension 9200 reboot quirk"
  * Revert "SAUCE: Correctly blacklist Thinkpad r40e in ACPI"
  * Revert "SAUCE: tulip: Define ULI PCI ID's"
  * Revert "SAUCE: Lower warning level of some PCI messages"
  * Revert "mac80211: fix two issues in debugfs"
    Drop a number of known redundant commits as identified in the Ubuntu
    delta review blueprint.

  * reenable armel versatile flavour
  * [Config] disable CONFIG_USB_DEVICEFS

  [ Tim Gardner ]

  * [Config] udeb: Add squashfs to fs-core-modules
    - LP: #352615
  * [Config] Create a real squashfs udeb
    - LP: #352615

 -- Andy Whitcroft <email address hidden> Fri, 27 Nov 2009 17:31:16 +0000

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: In Progress → Fix Released
tags: added: kernel-lucid
removed: kernel-series-unknown
Changed in linux (Ubuntu Karmic):
importance: Undecided → Medium
status: New → Triaged
Stefan Bader (smb) on 2010-01-07
Changed in linux (Ubuntu Karmic):
status: Triaged → Fix Committed
description: updated

Accepted linux into karmic-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

tags: added: verification-needed
Stefan Bader (smb) wrote :

Verified the udev events in the 2.6.31-20.57 to be in the right format and not having references to /proc.

Martin Pitt (pitti) on 2010-02-24
tags: added: verification-done
removed: verification-needed
Launchpad Janitor (janitor) wrote :
Download full text (24.5 KiB)

This bug was fixed in the package linux - 2.6.31-20.57

---------------
linux (2.6.31-20.57) karmic-proposed; urgency=low

  [ Kees Cook ]

  * SAUCE: x86: brk away from exec rand area
    - LP: #452175

  [ Keng-Yu Lin ]

  * SAUCE: (drop after 2.6.31) input: Add hotkey quirk for Samsung
    Q210/P210 laptops
    - LP: #385683

  [ Pascal Bach ]

  * SAUCE: (drop after 2.6.31) input: Add hotkey quirk for Fujitsu Amilo
    1848+u
    - LP: #458503

  [ Stefan Bader ]

  * Revert "[Upstream] (drop after 2.6.31) acerhdf: fix fan control for
    AOA150 model"
    - LP: #494633
  * [Config] Disable CONFIG_USB_DEVICEFS
    - LP: #488274

  [ Upstream Kernel Changes ]

  * Revert "ext4: Don't update superblock write time when filesystem is
    read-only"
    - LP: #496816
  * Revert "ide: try to use PIO Mode 0 during probe if possible"
    - LP: #503430
  * Revert "isdn: isdn_ppp: Use SKB list facilities instead of home-grown
    implementation."
    - LP: #503430
  * nilfs2: fix kernel oops in error case of nilfs_ioctl_move_blocks
    - LP: #494633
  * cifs: don't use CIFSGetSrvInodeNumber in is_path_accessible
    - LP: #494633
  * cifs: clean up handling when server doesn't consistently support inode
    numbers
    - LP: #494633
  * cifs: clear server inode number flag while autodisabling
    - LP: #494633
  * CIFS: fix oops in cifs_lookup during net boot
    - LP: #494633
  * CIFS: Duplicate data on appending to some Samba servers
    - LP: #494633
  * rtl8187: Fix kernel oops when device is removed when LEDS enabled
    - LP: #494633
  * md: don't clear endpoint for resync when resync is interrupted.
    - LP: #494633
  * md/raid5: make sure curr_sync_completes is uptodate when reshape starts
    - LP: #494633
  * md/raid1/raid10: add a cond_resched
    - LP: #494633
  * ALSA: usb-audio: fix combine_word problem
    - LP: #494633
  * ALSA: hda - Dell Studio 1557 hd-audio quirk
    - LP: #494633
  * ALSA: AACI: fix AC97 multiple-open bug
    - LP: #494633
  * ALSA: AACI: fix recording bug
    - LP: #494633
  * jffs2: Fix memory corruption in jffs2_read_inode_range()
    - LP: #494633
  * sound: rawmidi: disable active-sensing-on-close by default
    - LP: #494633
  * sound: rawmidi: fix checking of O_APPEND when opening MIDI device
    - LP: #494633
  * sound: rawmidi: fix double init when opening MIDI device with O_APPEND
    - LP: #494633
  * sound: rawmidi: fix MIDI device O_APPEND error handling
    - LP: #494633
  * highmem: Fix race in debug_kmap_atomic() which could cause warn_count
    to underflow
    - LP: #494633
  * highmem: Fix debug_kmap_atomic() to also handle KM_IRQ_PTE, KM_NMI, and
    KM_NMI_PTE
    - LP: #494633
  * powerpc: Fix DEBUG_HIGHMEM build break from d4515646699
    - LP: #494633
  * kmap: fix build errors with DEBUG_HIGHMEM enabled
    - LP: #494633
  * V4L/DVB (13169): bttv: Fix potential out-of-order field processing
    - LP: #494633
  * V4L/DVB (13170): bttv: Fix reversed polarity error when switching video
    standard
    - LP: #494633
  * V4L/DVB (13109): tda18271: fix signedness issue in
    tda18271_rf_tracking_filters_init
    - LP: #494633
  * V4L/DVB (13107): tda18271: fix overflow in FM radio frequency...

Changed in linux (Ubuntu Karmic):
status: Fix Committed → Fix Released
Yuriy Kozlov (yuriy-kozlov) wrote :

I just upgraded to the 2.6.31-20 kernel and found usbfs not working. While I can appreciate the rationale for removing this, this is now a Regression in the stable release and I can no longer do my work with the latest kernel as the Altera USB Blaster and associated software requires usbfs.

Yuriy Kozlov wrote:
> I just upgraded to the 2.6.31-20 kernel and found usbfs not working.
> While I can appreciate the rationale for removing this, this is now a
> Regression in the stable release and I can no longer do my work with the
> latest kernel as the Altera USB Blaster and associated software requires
> usbfs.
>
While this is understandable its not a regression to the release. The initial
release had it not set, then it was added but found to regress other things. So
it is now turned off again.

edonia (uwe-ufritz) wrote :

Same here.
I have a piece of very nice hardware, a sheet scanner, with linux software. It is not supported by the manufacture any more and does need to connect via /proc/bus/usb.
I did buy 2 of these scanners, because it was a long time the only one, to get for linux, is called "TravelScan PRO 2300U" or "pentax DSmobile".
This hardware is in daily use, but now stops working. I can not even find a solution to get it work again.
I'm disappointed :-(

Maxim (mmarinchenko) wrote :

Stefan Bader wrote: "The initial release had it not set..."

The initial release had kernel package version 2.6.31-14, am I right? This version supports usbfs.
The command "none /proc/bus/usb usbfs devgid=118,devmode=664 0 0" in /etc/fstab works well with 2.6.31-14. It also works well with 2.6.31-17. But with versions 2.6.31-18 and 2.6.31-20 it doesn't work!

My HASP drivers (version 3.50 - latest for now) doesn't see any keys without that command.
My proprietary VirtualBox software (version 3.1.4 - latest for now) can't use usb devices without usbfs, because it need vboxusers group ID to be set explicitly, like that: "devgid=118" (see command above).

Do you understand the problem?

edonia (uwe-ufritz) wrote :

maybe you should check, if the hardware needs usbfs, or just needs /proc/bus/usb.

To get /proc/bus/usb working, try the following:

sudo mount --bind /dev/bus /proc/bus
or
sudo mount --bind /dev/bus/usb /proc/bus/usb

this will make /proc/bus/usb accessible /proc/bus/usb for some hardware (although this will cause the other directories under /proc/bus to be hidden). So you should umount, after use:

sudo umount -l /proc/bus

Maxim (mmarinchenko) wrote :

From HASP Drivers Installation Manual:
"Ref #10108: In the event that locally connected HASP SRM protection keys are not detected on a machine running Ubuntu, do the following:

   1. In /etc/fstab, enter none /proc/bus/usb usbfs defaults 0 0.
   2. Mount /proc/bus/usb. The file /proc/bus/usb/devices is displayed.
   3. Stop the daemon and the HASP License Manager using /etc/init.d/aksusbd stop.
   4. Restart the daemon and the HASP License Manager using /etc/init.d/aksusbd start."

The command "none /sys/bus/usb/drivers usbfs devgid=118,devmode=664 0 0" doesn't work with HASP even if I boot using kernel version 2.6.31-17 wich supports usbfs. And VirtualBox displayed the following warning message: "You seem to have the USBFS filesystem mounted at /sys/bus/usb/drivers. We strongly recommend that you change this, as it is a severe mis-configuration of your system which could cause USB devices to fail in unexpected ways."

If I boot using kernel version 2.6.31-20, HASP daemon can't detect key in any case.

As you see, both HASP drivers and VirtualBox software need USBFS filesystem to be mounted to /proc/bus/usb.
sudo mount --bind /dev/bus /proc/bus didn't solve the problem. I just boot using 2.6.31-17 and everything is working.

It seems I can't upgrade to Lycid. I have to use other distribution in the future.

edonia (uwe-ufritz) wrote :

Did you check the folder /proc/bus after mount --bind? There has to be the folder usb inside.

Maxim (mmarinchenko) wrote :

Yes, the folder usb is inside /proc/bus after mount --bind. There are no errors during execution of mount command.

But as I say earlier, this don't solve the problem.
First of all I have proprietary software that use usbfs to access HASP key.
Second I have software for other operating system, which I use with VirtualBox. VirtualBox need usbfs explicitly mounted with devgid=<vboxusers gid>.

Stefan Bader (smb) wrote :

Maxim wrote:
> Stefan Bader wrote: "The initial release had it not set..."
> The initial release had kernel package version 2.6.31-14, am I right? This version supports usbfs.

Ok, sorry, you are right at that point. And it actually was the reason to switch
it off because having it on regresses other things which need udev to work
properly which fails if usbfs is on.

> Do you understand the problem?

I understand the problem. But it is a problem of application vendor being
unresponsive to changes until there is no other way. And you likely will see
other distribution changing the exactly same way when moving to newer releases.

Setting certain id's for devince nodes can be done with udev. And usbfs is
marked deprecated, that means it _will_ go away. So it would be time to tell the
software vendors.

Maxim (mmarinchenko) wrote :

Ok, It's clear.
Thank you.

towerlexa (towerlexa) wrote :

Hi,

this bug is also stopping my work with the vmware-server 2.0.2.
/proc/bus/usb doesn't exist and i'am not able to connect my usb chipcard reader to my virtual machine.

root@ubuntunb:/proc/bus/usb# uname -a
Linux ubuntunb 2.6.31-20-generic #57-Ubuntu SMP Mon Feb 8 09:05:19 UTC 2010 i686 GNU/Linux

i tried to mount with the following command, but it doesn't work!

> To get /proc/bus/usb working, try the following:
>
> sudo mount --bind /dev/bus /proc/bus
> or
> sudo mount --bind /dev/bus/usb /proc/bus/usb

mount | grep bus
/dev/bus on /proc/bus type none (rw,bind)

But in any case it doesn't working. In the vmware-server i got the message

"Remote USB device error: Remote device disconnected: an error occured while sending data."

Any help is highly appreciated, because my banking software isn't running inside the vmware-server vm

thank you very much

Maxim (mmarinchenko) wrote :

Hello, towerlexa!

Boot older version of kernel: 2.6.31.17 or older.

Stefan Bader wrote on 2010-03-10:
> I understand the problem. But it is a problem of application vendor being
> unresponsive to changes until there is no other way.

As you can see, they don't understand. It is not a problem of vendor, it is a problem of us, Ubuntu users. Vendor just advice us to move to more classic linux distribution. That's the way Ubuntu developers care about us.

I don't belive that udev is so important. I think that backward compatibility is more important thing.

We need usbfs! Do you hear us? You are too hurry. Please, think about users before disable or remove important capabilities.

On Wed, 2010-03-17 at 04:52 +0000, Maxim wrote:

> We need usbfs! Do you hear us? You are too hurry. Please, think about
> users before disable or remove important capabilities.
>
You can do:

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

To get an approximation of this filesystem that may be sufficient.

Scott
--
Scott James Remnant
<email address hidden>

Maxim (mmarinchenko) wrote :

It doesn't work:

> sudo mount --bind /dev/bus/usb /proc/bus/usb
mount: mount point /proc/bus/usb doesn't exist

> sudo mkdir -p /proc/bus/usb
mkdir: can't create directory `/proc/bus/usb': No such file or directory

On Thu, 2010-03-18 at 03:56 +0000, Maxim wrote:

> It doesn't work:
>
Ah, of course; can you not point your software at /dev/bus/usb instead?

Scott
--
Scott James Remnant
<email address hidden>

Maxim (mmarinchenko) wrote :

Scott James Remnant wrote:
> Ah, of course; can you not point your software at /dev/bus/usb instead?

Sorry, I don't understand. What did you mean?

HASP drivers (aksusbd daemon, version 3.88) don't recognize protection key, without usbfs mounted to /proc/bus/usb.
How can I not point aksusbd daemon at /dev/bus/usb instead?

VirtualBox need the following line in /etc/fstab: "none /proc/bus/usb usbfs devgid=118,devmode=664 0 0".
The number "118" is vboxusers group id. VirtualBox don't allow to use usb devices without these rights.
How can I assign usb hardware usage rights to vboxusers group using udev?

edonia (uwe-ufritz) wrote :

try:

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

On Thu, 2010-03-18 at 06:49 +0000, Maxim wrote:

> Scott James Remnant wrote:
> > Ah, of course; can you not point your software at /dev/bus/usb instead?
>
> Sorry, I don't understand. What did you mean?
>
> HASP drivers (aksusbd daemon, version 3.88) don't recognize protection key, without usbfs mounted to /proc/bus/usb.
> How can I not point aksusbd daemon at /dev/bus/usb instead?
>
> VirtualBox need the following line in /etc/fstab: "none /proc/bus/usb usbfs devgid=118,devmode=664 0 0".
> The number "118" is vboxusers group id. VirtualBox don't allow to use usb devices without these rights.
> How can I assign usb hardware usage rights to vboxusers group using udev?
>
These are both commerical products?

You would have to contact a sales or tech support rep at those companies
to ask for this, or for an updated version that works with current Linux
releases.

Scott
--
Scott James Remnant
<email address hidden>

Maxim (mmarinchenko) wrote :

edonia wrote:
>try:
>
>mount --bind /dev/bus /proc/bus
>ln -s /sys/kernel/debug/usb/devices /proc/bus/usb/devices

edonia, thank you.
Command "mount --bind /dev/bus /proc/bus" eliminate all directories in /proc/bus. And it doesn't help with VirtualBox. But thank you anyway.

Scott James Remnant wrote:
>You would have to contact a sales or tech support rep at those companies
>to ask for this, or for an updated version that works with current Linux
>releases.

Ok, I'll try. I wish you every success! You all.

On Fri, 2010-03-19 at 02:20 +0000, Maxim wrote:

> >mount --bind /dev/bus /proc/bus
> >ln -s /sys/kernel/debug/usb/devices /proc/bus/usb/devices
>
> edonia, thank you.
> Command "mount --bind /dev/bus /proc/bus" eliminate all directories in /proc/bus. And it doesn't help with VirtualBox. But thank you anyway.
>
You can get around this too ;-)

  mkdir /dev/bus/input /dev/bus/pccard /dev/bus/pci
  (basically anything you see under /proc/bus)

  mount --bind /proc/bus/input /dev/bus/input
  mount --bind /proc/bus/pccard /dev/bus/pccard
  mount --bind /proc/bus/pci /dev/bus/pci

  mount --bind /dev/bus/usb /proc/bus/usb

  ln -s /sys/kernel/debug/usb/devices /proc/bus/usb/devices

It would really be better if your software just used the updated
paths ;-) Since no new version of any distribution provides the old
interface anymore!

Scott
--
Scott James Remnant
<email address hidden>

Maxim (mmarinchenko) wrote :

Scott James Remnant wrote:
>mount --bind /dev/bus/usb /proc/bus/usb

mount point /proc/bus/usb doesn't exist ;-)

On Fri, 2010-03-19 at 05:20 +0000, Maxim wrote:

> Scott James Remnant wrote:
> >mount --bind /dev/bus/usb /proc/bus/usb
>
> mount point /proc/bus/usb doesn't exist ;-)
>
Err, /dev/bus to /proc/bus with the above

Scott
--
Scott James Remnant
<email address hidden>

Yuriy Kozlov (yuriy-kozlov) wrote :

Thanks Scott!

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

Worked great for the Altera USB Blaster.
I also contacted the company and they said they may fix this in the next-next version, but that won't be for almost a year, so I'm glad this works and I don't have to worry about upgrading to Lucid.

Gary M (garym) on 2010-03-21
tags: added: kconfig
Maxim (mmarinchenko) wrote :

> Since no new version of any distribution provides the old interface anymore!

openSUSE 11.3 Milestone 3 uses kernel version 2.6.33-5 and it supports usbfs.

Stefan Bader (smb) wrote :

Just for towerlexa, I have been in contact with a guy from VMWare and he says server 2.0.3 and higher will support sysfs (for workstation this would be 6.0 and later).

mveloso (mveloso-java) wrote :

Hi,

Since usbfs is marked deprecated.
And "The Linux implementation uses the usbfs filesystem to access USB devices directly... you must have Linux kernel support for the usbfs filesystem, and it must be mounted (at /proc/bus/usb)." (javax-usb.org/faq.html)

What would we do?

Marcus

mveloso (mveloso-java) wrote :

JSR80/javax-usb (by IBM) is an official USB API for Java.

On Tue, 2010-07-27 at 23:15 -0300, Marcus Veloso wrote:

> Since usbfs is marked
> deprecated (bugs.launchpad.net/ubuntu/+source/linux/+bug/488274).
> And "The Linux implementation uses the usbfs filesystem to
> access USB devices directly... you must have Linux kernel support for
> the usbfs filesystem, and it must be mounted
> (at /proc/bus/usb)." (javax-usb.org/faq.html)
>
> What would we do?
>
Fix javax.

The correct path for USB raw device nodes (for the past few years)
is /dev/bus/usb

For details about connected USB devices, you can either use the
sub-directories of /sys/bus/usb/devices (each is a device), use libudev
(which also provides notification of new devices) or for minimum effort
read from /sys/kernel/debug/usb/devices which is the same format as the
old file.

Scott
--
Scott James Remnant
<email address hidden>

touristguy87 (touristguy87) wrote :

"It would really be better if your software just used the updated
paths ;-) Since no new version of any distribution provides the old
interface anymore!

Scott
--
Scott James Remnant
<email address hidden>"

What are you, some kind of gigantic idiot?
"Software" uses the paths that it's designed and coded to use!

If you remove the paths don't expect the software to work!

One big fat clue: when you change ANY PART of Linux you can expect that you are breaking some code *somewhere*. Someone has written to every component of the existing package. If you're not going to do QA to verify that your new OS is backwards-compatible and you're not going to come out with workarounds for the code that is now broken don't point fingers at the *code* as the problem. YOU ARE THE PROBLEM.

The simple fact is that after a certain point you can't change Linux at all without breaking something.
But in your simplistic arrogance you force the world to adapt and change when it wouldn't otherwise.
Half of the world will adapt to work with your changes...and the other half will eliminate you as a point of concern.

Now haviing said that it would be nice if there was a coherent reliable functional workaround to help users to get BOTH usbfs and /proc/bus/usb structure to work in 10.04+. Now that it's been blown-out entirely. Because VM and HASP are DEFINITELY not the only tools that make use of both not to mention either.

touristguy87 (touristguy87) wrote :

...and I swear if you worked for me with that attitude I'd smack you upside the head so many times I'd leave bloody marks on the staircase leading down to the door through which I kicked your ass out of our building.

touristguy87 (touristguy87) wrote :

"Scott James Remnant (Canonical) wrote on 2010-03-18: #23

You would have to contact a sales or tech support rep at those companies
to ask for this, or for an updated version that works with current Linux
releases."

...they'd have to pry my hands loose from around your neck. Seriously.

touristguy87 (touristguy87) wrote :

Really
no kidding this is why I'm still running 10.04 and VM 4.0.
This is why most enterprises do not upgrade their business software unless it is absolutely necessary and when they do so they upgrade the least possible to get whatever they need.

Just to avoid this kind of stupidity.

Listen dumbass: people do not have time to deal with this kind of artificial bullshit unless they are, like you, professional bullshit-artists. Who is going to provide an updated driver in a timely manner for an old piece of hardware? Who is going to update their drivers just because the goofballs at Ubuntu broke compatibility with their old drivers in their new software?

You just casually assume that it's a matter of asking and voliia it's one and working just fine.
as in...someone else will happily fix a problem that you created and are too sorry to fix right?
Sure. Another easy solution for you!

touristguy87 (touristguy87) wrote :

...I swear, I would call five people in and give them each 42oz aluminum bats to beat you with as we marched your ass right out the front door. Seriously.

touristguy87 (touristguy87) wrote :

"Ok, sorry, you are right at that point. And it actually was the reason to switch
it off because having it on regresses other things which need udev to work
properly which fails if usbfs is on."

...blatant widespread idiocy...

some serious housecleaning is in order, really.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers