linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* UDEV rule for uploading firmware
@ 2006-12-24 23:42 Berthold Höllmann
  2006-12-25  0:09 ` Berthold Höllmann
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Berthold Höllmann @ 2006-12-24 23:42 UTC (permalink / raw)
  To: linux-hotplug

I try to fix a UDEV rule for uploading firmware for an USB audio
device. The tool madfuload has to get the device name in either the
DEVICE environment variable or via a command line switch. The original
rule as delivered with the program is:

ACTION="add", SUBSYSTEM="usb", DEVPATH="/*.0", ENV{PRODUCT}="763/2806/*", RUN+="/usr/local/sbin/madfuload -l -3 -f /usr/local/share/usb/maudio/ma006100.bin"

But this gives only 

madfuload: --device not given, and DEVICE not set

in /var/log/messages when I attach the device.

I tried a lot with the command line, even hardcoding the next
predictable device name, but always get

madfuload: cannot open '/dev/.tmp-0-0': No such device or address

or

madfuload: cannot open /dev/bus/usb/005/028: No such file or directory

even when a manual call with /dev/bus/usb/005/028 is successfull
afterwards.

The original rule file name is 42-madfuload.rules and I tried to
increase the leading number to get the rules applied later in the
chain, but no go.

With SuSE 10.1 I fixed the problem by reactivating the usbfs mount by
fixing the /etc/fstab, but with openSuSE 10.2 I only get

# mount -a
mount: mount point /proc/bus/usb does not exist

# pre SuSE 10.1
#usbfs                /proc/bus/usb        usbfs      noauto
#0 0
# SuSE 10.1
/dev/bus/usb         /proc/bus/usb        usbfs      defaults              0 0

Is there a way to fix this problem in udev, do I have to change my
fstab entry or do I have to switch to a different tool like HAL?

Thanks
Berthold
-- 
berthold@xn--hllmanns-n4a.de / <http://höllmanns.de/>
bhoel@web.de                 / <http://starship.python.net/crew/bhoel/>


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CIDÞVDEV
_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* UDEV rule for uploading firmware
  2006-12-24 23:42 UDEV rule for uploading firmware Berthold Höllmann
@ 2006-12-25  0:09 ` Berthold Höllmann
  2006-12-26 14:58 ` Kay Sievers
  2006-12-26 19:18 ` Berthold Höllmann
  2 siblings, 0 replies; 4+ messages in thread
From: Berthold Höllmann @ 2006-12-25  0:09 UTC (permalink / raw)
  To: linux-hotplug


I try to fix a UDEV rule for uploading firmware for an USB audio
device. The tool madfuload has to get the device name in either the
DEVICE environment variable or via a command line switch. The original
rule as delivered with the program is:

ACTION="add", SUBSYSTEM="usb", DEVPATH="/*.0", ENV{PRODUCT}="763/2806/*", RUN+="/usr/local/sbin/madfuload -l -3 -f /usr/local/share/usb/maudio/ma006100.bin"

But this gives only 

madfuload: --device not given, and DEVICE not set

in /var/log/messages when I attach the device.

I tried a lot with the command line, even hardcoding the next
predictable device name, but always get

madfuload: cannot open '/dev/.tmp-0-0': No such device or address

or

madfuload: cannot open /dev/bus/usb/005/028: No such file or directory

even when a manual call with /dev/bus/usb/005/028 is successfull
afterwards.

The original rule file name is 42-madfuload.rules and I tried to
increase the leading number to get the rules applied later in the
chain, but no go.

With SuSE 10.1 I fixed the problem by reactivating the usbfs mount by
fixing the /etc/fstab, but with openSuSE 10.2 I only get

# mount -a
mount: mount point /proc/bus/usb does not exist

# pre SuSE 10.1
#usbfs                /proc/bus/usb        usbfs      noauto
#0 0
# SuSE 10.1
/dev/bus/usb         /proc/bus/usb        usbfs      defaults              0 0

Is there a way to fix this problem in udev, do I have to change my
fstab entry or do I have to switch to a different tool like HAL?

Thanks
Berthold
-- 
berthold@xn--hllmanns-n4a.de / <http://höllmanns.de/>
bhoel@web.de                 / <http://starship.python.net/crew/bhoel/>

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CIDÞVDEV
_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: UDEV rule for uploading firmware
  2006-12-24 23:42 UDEV rule for uploading firmware Berthold Höllmann
  2006-12-25  0:09 ` Berthold Höllmann
@ 2006-12-26 14:58 ` Kay Sievers
  2006-12-26 19:18 ` Berthold Höllmann
  2 siblings, 0 replies; 4+ messages in thread
From: Kay Sievers @ 2006-12-26 14:58 UTC (permalink / raw)
  To: linux-hotplug

On 12/25/06, Berthold Höllmann <berthold@xn--hllmanns-n4a.de> wrote:
> I try to fix a UDEV rule for uploading firmware for an USB audio
> device. The tool madfuload has to get the device name in either the
> DEVICE environment variable or via a command line switch. The original
> rule as delivered with the program is:
>
> ACTION="add", SUBSYSTEM="usb", DEVPATH="/*.0", ENV{PRODUCT}="763/2806/*", RUN+="/usr/local/sbin/madfuload -l -3 -f /usr/local/share/usb/maudio/ma006100.bin"

Try hooking into the "usb_device" event, not  "usb". The device node
may not be around at the time you receive the "usb" event. You need to
match on sysfs vendor/product values to indentify your device then.
The device-node path is available in the event environment of the
"usb_device" event so you can pass it to the called tool.

> But this gives only
>
> madfuload: --device not given, and DEVICE not set
>
> in /var/log/messages when I attach the device.
>
> I tried a lot with the command line, even hardcoding the next
> predictable device name, but always get
>
> madfuload: cannot open '/dev/.tmp-0-0': No such device or address

These are the major/minor numbers, 0-0 should never exist. You can
create and access a temp-node with $temnode in udev-rules, but you
should not need this. All the temp-node stuff is only needed for
accessing the device _before_ the device-naming happened.

> madfuload: cannot open /dev/bus/usb/005/028: No such file or directory
>
> even when a manual call with /dev/bus/usb/005/028 is successfull
> afterwards.
>
> The original rule file name is 42-madfuload.rules and I tried to
> increase the leading number to get the rules applied later in the
> chain, but no go.
>
> With SuSE 10.1 I fixed the problem by reactivating the usbfs mount by
> fixing the /etc/fstab, but with openSuSE 10.2 I only get
>
> # mount -a
> mount: mount point /proc/bus/usb does not exist
>
> # pre SuSE 10.1
> #usbfs                /proc/bus/usb        usbfs      noauto
> #0 0
> # SuSE 10.1
> /dev/bus/usb         /proc/bus/usb        usbfs      defaults              0 0

SUSE already disabled usbfs in the kernel, as it is no longer needed
today and can't handle ACL's needed for multi-user setups. Other
distros will need to do the same, when we ship a
"pam_console"-successor along with HAL.

> Is there a way to fix this problem in udev, do I have to change my
> fstab entry or do I have to switch to a different tool like HAL?

Usbfs is dead, also the DEVICE environment variable. HAL should work
the same way as udev. Hooking into the right event with udev should
just do it.

Kay
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CIDÞVDEV
_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: UDEV rule for uploading firmware
  2006-12-24 23:42 UDEV rule for uploading firmware Berthold Höllmann
  2006-12-25  0:09 ` Berthold Höllmann
  2006-12-26 14:58 ` Kay Sievers
@ 2006-12-26 19:18 ` Berthold Höllmann
  2 siblings, 0 replies; 4+ messages in thread
From: Berthold Höllmann @ 2006-12-26 19:18 UTC (permalink / raw)
  To: linux-hotplug

"Kay Sievers" <kay.sievers@vrfy.org> writes:

> On 12/25/06, Berthold Höllmann <berthold@xn--hllmanns-n4a.de> wrote:
>> I try to fix a UDEV rule for uploading firmware for an USB audio
>> device. The tool madfuload has to get the device name in either the
>> DEVICE environment variable or via a command line switch. The original
>> rule as delivered with the program is:
>>
>> ACTION="add", SUBSYSTEM="usb", DEVPATH="/*.0", ENV{PRODUCT}="763/2806/*", RUN+="/usr/local/sbin/madfuload -l -3 -f /usr/local/share/usb/maudio/ma006100.bin"
>
> Try hooking into the "usb_device" event, not  "usb". The device node
> may not be around at the time you receive the "usb" event. You need to
> match on sysfs vendor/product values to indentify your device then.
> The device-node path is available in the event environment of the
> "usb_device" event so you can pass it to the called tool.

Thanks for your help. For the records, the working solution (at least
for me) is:

ACTION="add", SUBSYSTEM="usb_device", SYSFS{idVendor}="0763", SYSFS{idProduct}="2806", RUN+="/usr/local/sbin/madfuload -l -3 -f /usr/local/share/usb/maudio/ma006100.bin -D $env{DEVNAME}"

Kind regards
Berthold
-- 
berthold@xn--hllmanns-n4a.de / <http://höllmanns.de/>
bhoel@web.de                 / <http://starship.python.net/crew/bhoel/>

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CIDÞVDEV
_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2006-12-26 19:18 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-24 23:42 UDEV rule for uploading firmware Berthold Höllmann
2006-12-25  0:09 ` Berthold Höllmann
2006-12-26 14:58 ` Kay Sievers
2006-12-26 19:18 ` Berthold Höllmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).