* Re: Run hotplug scripts after device node is created?
2005-08-22 20:45 Run hotplug scripts after device node is created? Stefan Schweizer
@ 2005-08-22 21:15 ` Kay Sievers
2005-08-22 21:23 ` Stefan Schweizer
` (13 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Kay Sievers @ 2005-08-22 21:15 UTC (permalink / raw)
To: linux-hotplug
On Mon, Aug 22, 2005 at 10:45:49PM +0200, Stefan Schweizer wrote:
> I use a hotplug script to download the firmware to my hp printer. This
> is needed for HP Laserjet 1000,1005 and 1020. The procedure is just
> cat firmware > /dev/usb/lp*
>
> The problem is that /dev/usb/lp* has to exist for the script to work.
> In earlier udev versions I just added "sleep 20" to the script to be
> sure that the device node exists. With the last version of udev this
> seems to be no longer possiblee because udev waits for the hotplug
> script to exit before creating the device node :(
No, only PROGRAM and IMPORT runs before the node is created.
> How can I make sure that the hotplug script is run after usblp is
> loaded and after the device is created?
RUN runs definitely after the node handling is finished.
> Is there some hotplug-way to find out which device-node I am supposed
> to load the firmware into?
Don't understand the question.
And what udev version is it?
What does:
cat /proc/sys/kernel/hotplug
print?
Kay
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
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] 16+ messages in thread* Re: Run hotplug scripts after device node is created?
2005-08-22 20:45 Run hotplug scripts after device node is created? Stefan Schweizer
2005-08-22 21:15 ` Kay Sievers
@ 2005-08-22 21:23 ` Stefan Schweizer
2005-08-22 21:46 ` Marco d'Itri
` (12 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Stefan Schweizer @ 2005-08-22 21:23 UTC (permalink / raw)
To: linux-hotplug
On 8/22/05, Kay Sievers <kay.sievers@vrfy.org> wrote:
> On Mon, Aug 22, 2005 at 10:45:49PM +0200, Stefan Schweizer wrote:
> > I use a hotplug script to download the firmware to my hp printer. This
> > is needed for HP Laserjet 1000,1005 and 1020. The procedure is just
> > cat firmware > /dev/usb/lp*
> >
> > The problem is that /dev/usb/lp* has to exist for the script to work.
> > In earlier udev versions I just added "sleep 20" to the script to be
> > sure that the device node exists. With the last version of udev this
> > seems to be no longer possiblee because udev waits for the hotplug
> > script to exit before creating the device node :(
>
> No, only PROGRAM and IMPORT runs before the node is created.
>
> > How can I make sure that the hotplug script is run after usblp is
> > loaded and after the device is created?
>
> RUN runs definitely after the node handling is finished.
>
I don't use either of those ..
this is just a plain old hotplug script with
/etc/hotplug/usb/hplj.usermap:
hplj1005 0x0003 0x03f0 0x1317 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00
0x00 0x00000000
/etc/hotplug/usb/hplj1005
waiting and catting the firmware into the device node.
> > Is there some hotplug-way to find out which device-node I am supposed
> > to load the firmware into?
>
> Don't understand the question.
currently the script is scanning all devices for a supported one .. is
there some variable in a hotplug script to read out the device node?
> And what udev version is it?
udev-068
> What does:
> cat /proc/sys/kernel/hotplug
> print?
/sbin/udevsend
thanks,
Stefan
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
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] 16+ messages in thread* Re: Run hotplug scripts after device node is created?
2005-08-22 20:45 Run hotplug scripts after device node is created? Stefan Schweizer
2005-08-22 21:15 ` Kay Sievers
2005-08-22 21:23 ` Stefan Schweizer
@ 2005-08-22 21:46 ` Marco d'Itri
2005-08-22 21:48 ` Kay Sievers
` (11 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Marco d'Itri @ 2005-08-22 21:46 UTC (permalink / raw)
To: linux-hotplug
On Aug 22, Stefan Schweizer <sschweizer@gmail.com> wrote:
> this is just a plain old hotplug script with
> /etc/hotplug/usb/hplj.usermap:
Don't. Support for maps will be probably killed *soon*.
> currently the script is scanning all devices for a supported one .. is
> there some variable in a hotplug script to read out the device node?
udev can provide it on the command line.
--
ciao,
Marco
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
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] 16+ messages in thread* Re: Run hotplug scripts after device node is created?
2005-08-22 20:45 Run hotplug scripts after device node is created? Stefan Schweizer
` (2 preceding siblings ...)
2005-08-22 21:46 ` Marco d'Itri
@ 2005-08-22 21:48 ` Kay Sievers
2005-08-23 5:26 ` Stefan Schweizer
` (10 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Kay Sievers @ 2005-08-22 21:48 UTC (permalink / raw)
To: linux-hotplug
On Mon, Aug 22, 2005 at 11:23:44PM +0200, Stefan Schweizer wrote:
> On 8/22/05, Kay Sievers <kay.sievers@vrfy.org> wrote:
> > On Mon, Aug 22, 2005 at 10:45:49PM +0200, Stefan Schweizer wrote:
> > > I use a hotplug script to download the firmware to my hp printer. This
> > > is needed for HP Laserjet 1000,1005 and 1020. The procedure is just
> > > cat firmware > /dev/usb/lp*
> > >
> > > The problem is that /dev/usb/lp* has to exist for the script to work.
> > > In earlier udev versions I just added "sleep 20" to the script to be
> > > sure that the device node exists. With the last version of udev this
> > > seems to be no longer possiblee because udev waits for the hotplug
> > > script to exit before creating the device node :(
> >
> > No, only PROGRAM and IMPORT runs before the node is created.
> >
> > > How can I make sure that the hotplug script is run after usblp is
> > > loaded and after the device is created?
> >
> > RUN runs definitely after the node handling is finished.
> >
> I don't use either of those ..
>
> this is just a plain old hotplug script with
> /etc/hotplug/usb/hplj.usermap:
> hplj1005 0x0003 0x03f0 0x1317 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00
> 0x00 0x00000000
> /etc/hotplug/usb/hplj1005
> waiting and catting the firmware into the device node.
Somewhere in your rules is a:
RUN+="/sbin/udev_run_hotplugd"
right? If not, /etc/hotplug.d/ is not called.
> > > Is there some hotplug-way to find out which device-node I am supposed
> > > to load the firmware into?
> >
> > Don't understand the question.
> currently the script is scanning all devices for a supported one .. is
> there some variable in a hotplug script to read out the device node?
Sure. DEVNAME.
Kay
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
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] 16+ messages in thread* Re: Run hotplug scripts after device node is created?
2005-08-22 20:45 Run hotplug scripts after device node is created? Stefan Schweizer
` (3 preceding siblings ...)
2005-08-22 21:48 ` Kay Sievers
@ 2005-08-23 5:26 ` Stefan Schweizer
2005-08-23 5:29 ` Stefan Schweizer
` (9 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Stefan Schweizer @ 2005-08-23 5:26 UTC (permalink / raw)
To: linux-hotplug
On 8/22/05, Marco d'Itri <md@linux.it> wrote:
> On Aug 22, Stefan Schweizer <sschweizer@gmail.com> wrote:
>
> > this is just a plain old hotplug script with
> > /etc/hotplug/usb/hplj.usermap:
> Don't. Support for maps will be probably killed *soon*.
what am I supposed to be using now?
> > currently the script is scanning all devices for a supported one .. is
> > there some variable in a hotplug script to read out the device node?
> udev can provide it on the command line.
How can I use the cmdline?
Stefan
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
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] 16+ messages in thread* Re: Run hotplug scripts after device node is created?
2005-08-22 20:45 Run hotplug scripts after device node is created? Stefan Schweizer
` (4 preceding siblings ...)
2005-08-23 5:26 ` Stefan Schweizer
@ 2005-08-23 5:29 ` Stefan Schweizer
2005-08-23 7:54 ` Marco d'Itri
` (8 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Stefan Schweizer @ 2005-08-23 5:29 UTC (permalink / raw)
To: linux-hotplug
On 8/22/05, Kay Sievers <kay.sievers@vrfy.org> wrote:
> On Mon, Aug 22, 2005 at 11:23:44PM +0200, Stefan Schweizer wrote:
> > this is just a plain old hotplug script with
> > /etc/hotplug/usb/hplj.usermap:
> > hplj1005 0x0003 0x03f0 0x1317 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00
> > 0x00 0x00000000
> > /etc/hotplug/usb/hplj1005
> > waiting and catting the firmware into the device node.
>
> Somewhere in your rules is a:
> RUN+="/sbin/udev_run_hotplugd"
>
> right? If not, /etc/hotplug.d/ is not called.
Yes, right ..it is obviously default in Gentoo.
- Stefan
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
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] 16+ messages in thread* Re: Run hotplug scripts after device node is created?
2005-08-22 20:45 Run hotplug scripts after device node is created? Stefan Schweizer
` (5 preceding siblings ...)
2005-08-23 5:29 ` Stefan Schweizer
@ 2005-08-23 7:54 ` Marco d'Itri
2005-08-23 11:32 ` Olivier Blin
` (7 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Marco d'Itri @ 2005-08-23 7:54 UTC (permalink / raw)
To: linux-hotplug
On Aug 23, Stefan Schweizer <sschweizer@gmail.com> wrote:
> > > this is just a plain old hotplug script with
> > > /etc/hotplug/usb/hplj.usermap:
> > Don't. Support for maps will be probably killed *soon*.
> what am I supposed to be using now?
A udev RUN rule.
> > > currently the script is scanning all devices for a supported one .. is
> > > there some variable in a hotplug script to read out the device node?
> > udev can provide it on the command line.
> How can I use the cmdline?
udev.conf(5).
--
ciao,
Marco
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
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] 16+ messages in thread* Re: Run hotplug scripts after device node is created?
2005-08-22 20:45 Run hotplug scripts after device node is created? Stefan Schweizer
` (6 preceding siblings ...)
2005-08-23 7:54 ` Marco d'Itri
@ 2005-08-23 11:32 ` Olivier Blin
2005-08-23 12:27 ` Marco d'Itri
` (6 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Olivier Blin @ 2005-08-23 11:32 UTC (permalink / raw)
To: linux-hotplug
md@Linux.IT (Marco d'Itri) writes:
> On Aug 22, Stefan Schweizer <sschweizer@gmail.com> wrote:
>
>> this is just a plain old hotplug script with
>> /etc/hotplug/usb/hplj.usermap:
> Don't. Support for maps will be probably killed *soon*.
What should we do then? Write an udev rule per device ids?
This would end up in a huge number of rules, can udev manage that
without performance cost?
Wouldn't it be better to add some kind of map support in udev?
--
Olivier Blin
Mandriva
Mandrakesoft becomes Mandriva
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
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] 16+ messages in thread* Re: Run hotplug scripts after device node is created?
2005-08-22 20:45 Run hotplug scripts after device node is created? Stefan Schweizer
` (7 preceding siblings ...)
2005-08-23 11:32 ` Olivier Blin
@ 2005-08-23 12:27 ` Marco d'Itri
2005-08-23 13:39 ` Sergey Vlasov
` (5 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Marco d'Itri @ 2005-08-23 12:27 UTC (permalink / raw)
To: linux-hotplug
On Aug 23, Olivier Blin <oblin@mandriva.com> wrote:
> What should we do then? Write an udev rule per device ids?
Yes, or match on some other appropriate value.
> This would end up in a huge number of rules, can udev manage that
> without performance cost?
I doubt that the number or rules would be high.
> Wouldn't it be better to add some kind of map support in udev?
No.
--
ciao,
Marco
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
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] 16+ messages in thread* Re: Run hotplug scripts after device node is created?
2005-08-22 20:45 Run hotplug scripts after device node is created? Stefan Schweizer
` (8 preceding siblings ...)
2005-08-23 12:27 ` Marco d'Itri
@ 2005-08-23 13:39 ` Sergey Vlasov
2005-08-23 14:10 ` Olivier Blin
` (4 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Sergey Vlasov @ 2005-08-23 13:39 UTC (permalink / raw)
To: linux-hotplug
[-- Attachment #1: Type: text/plain, Size: 692 bytes --]
On Tue, 23 Aug 2005 14:27:09 +0200 Marco d'Itri wrote:
> On Aug 23, Olivier Blin <oblin@mandriva.com> wrote:
>
> > What should we do then? Write an udev rule per device ids?
> Yes, or match on some other appropriate value.
>
> > This would end up in a huge number of rules, can udev manage that
> > without performance cost?
> I doubt that the number or rules would be high.
$ grep -v '^#' /etc/hotplug/usb/libsane.usermap | wc -l
210
$ grep -v '^#' /etc/hotplug/usb/usbcam.usermap | wc -l
372
These are basically just a bunch of USB vendor/device IDs, and it is
likely that most devices don't have any reliable attributes which would
allow to match a group of them with a single rule.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread* Re: Run hotplug scripts after device node is created?
2005-08-22 20:45 Run hotplug scripts after device node is created? Stefan Schweizer
` (9 preceding siblings ...)
2005-08-23 13:39 ` Sergey Vlasov
@ 2005-08-23 14:10 ` Olivier Blin
2005-08-23 18:25 ` Stefan Schweizer
` (3 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Olivier Blin @ 2005-08-23 14:10 UTC (permalink / raw)
To: linux-hotplug
Sergey Vlasov <vsu@altlinux.ru> writes:
> On Tue, 23 Aug 2005 14:27:09 +0200 Marco d'Itri wrote:
>
>> On Aug 23, Olivier Blin <oblin@mandriva.com> wrote:
>>
>> > What should we do then? Write an udev rule per device ids?
>> Yes, or match on some other appropriate value.
>>
>> > This would end up in a huge number of rules, can udev manage that
>> > without performance cost?
>> I doubt that the number or rules would be high.
>
> $ grep -v '^#' /etc/hotplug/usb/libsane.usermap | wc -l
> 210
> $ grep -v '^#' /etc/hotplug/usb/usbcam.usermap | wc -l
> 372
Same on Mandriva (mostly gphoto devices):
$ grep -v '^#' /etc/hotplug/usb.*map | wc -l
936
> These are basically just a bunch of USB vendor/device IDs, and it is
> likely that most devices don't have any reliable attributes which would
> allow to match a group of them with a single rule.
Right, it means as many rules as devices.
--
Olivier Blin
Mandriva
Mandrakesoft becomes Mandriva
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
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] 16+ messages in thread* Re: Run hotplug scripts after device node is created?
2005-08-22 20:45 Run hotplug scripts after device node is created? Stefan Schweizer
` (10 preceding siblings ...)
2005-08-23 14:10 ` Olivier Blin
@ 2005-08-23 18:25 ` Stefan Schweizer
2005-08-23 19:25 ` Kay Sievers
` (2 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Stefan Schweizer @ 2005-08-23 18:25 UTC (permalink / raw)
To: linux-hotplug
On 8/22/05, Kay Sievers <kay.sievers@vrfy.org> wrote:
> > currently the script is scanning all devices for a supported one .. is
> > there some variable in a hotplug script to read out the device node?
>
> Sure. DEVNAME.
thank you .. but I do not seem to be able to access DEVNAME :(
Any better idea than again guessing and sleeping?
relevant part of udev.conf:
SUBSYSTEM="usb", ACTION="add", ENV{PRODUCT}="3f0/0517*",
RUN+="/etc/hotplug/hplj-udev"
SUBSYSTEM="usb", ACTION="add", ENV{PRODUCT}="3f0/1317*",
RUN+="/etc/hotplug/hplj-udev"
SUBSYSTEM="usb", ACTION="add", ENV{PRODUCT}="3f0/2B17*",
RUN+="/etc/hotplug/hplj-udev"
SUBSYSTEM="usb", KERNEL="lp*", ACTION="add", NAME="usb/%k",
SYMLINK+="usb%k", GROUP="lp"
#BUS="usb", KERNEL="lp[0-9]*", NAME="usb/%k", GROUP="lp"
env of the script:
SUBSYSTEM=usb
DEVPATH=/devices/pci0000:00/0000:00:0f.5/usb2/2-2/2-2.1/2-2.1:1.0
PATH=/sbin:/bin:/usr/sbin:/usr/bin
ACTIONd
MODALIAS=usb:v03F0p1317d0120dc00dsc00dp00ic07isc01ip02
PWD=/
UDEVD_EVENT=1
SHLVL=1
HOME=/
DEVICE=/proc/bus/usb/002/017
INTERFACE=7/1/2
PRODUCT?0/1317/120
TYPE=0/0/0
PHYSDEVBUS=usb
SEQNUM†3
_=/bin/env
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
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] 16+ messages in thread* Re: Run hotplug scripts after device node is created?
2005-08-22 20:45 Run hotplug scripts after device node is created? Stefan Schweizer
` (11 preceding siblings ...)
2005-08-23 18:25 ` Stefan Schweizer
@ 2005-08-23 19:25 ` Kay Sievers
2005-08-23 21:34 ` Stefan Schweizer
2005-08-23 21:52 ` Marco d'Itri
14 siblings, 0 replies; 16+ messages in thread
From: Kay Sievers @ 2005-08-23 19:25 UTC (permalink / raw)
To: linux-hotplug
On Tue, Aug 23, 2005 at 08:25:05PM +0200, Stefan Schweizer wrote:
> On 8/22/05, Kay Sievers <kay.sievers@vrfy.org> wrote:
> > > currently the script is scanning all devices for a supported one .. is
> > > there some variable in a hotplug script to read out the device node?
> >
> > Sure. DEVNAME.
>
> thank you .. but I do not seem to be able to access DEVNAME :(
>
> Any better idea than again guessing and sleeping?
>
> relevant part of udev.conf:
>
> SUBSYSTEM="usb", ACTION="add", ENV{PRODUCT}="3f0/0517*",
> RUN+="/etc/hotplug/hplj-udev"
> SUBSYSTEM="usb", ACTION="add", ENV{PRODUCT}="3f0/1317*",
> RUN+="/etc/hotplug/hplj-udev"
> SUBSYSTEM="usb", ACTION="add", ENV{PRODUCT}="3f0/2B17*",
> RUN+="/etc/hotplug/hplj-udev"
> SUBSYSTEM="usb", KERNEL="lp*", ACTION="add", NAME="usb/%k",
> SYMLINK+="usb%k", GROUP="lp"
> #BUS="usb", KERNEL="lp[0-9]*", NAME="usb/%k", GROUP="lp"
>
> env of the script:
> SUBSYSTEM=usb
> DEVPATH=/devices/pci0000:00/0000:00:0f.5/usb2/2-2/2-2.1/2-2.1:1.0
> PATH=/sbin:/bin:/usr/sbin:/usr/bin
> ACTIONd
> MODALIAS=usb:v03F0p1317d0120dc00dsc00dp00ic07isc01ip02
> PWD=/
> UDEVD_EVENT=1
> SHLVL=1
> HOME=/
> DEVICE=/proc/bus/usb/002/017
> INTERFACE=7/1/2
> PRODUCT?0/1317/120
> TYPE=0/0/0
> PHYSDEVBUS=usb
> SEQNUM†3
> _=/bin/env
You are catching the event for the "raw" usb device here. I don't know what
device you need to upload the firmware too, but "raw" usb devices don't
have a device node in the current kernel only an interface in /proc.
You may need to catch the event for the printer interface, not sure.
Run "udevmonitor" while connecting the printer, it will show you all
events. And "udevmonitor --env" will print the whole environment, where
you can possibly see the DEVNAME.
Good luck,
Kay
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
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] 16+ messages in thread* Re: Run hotplug scripts after device node is created?
2005-08-22 20:45 Run hotplug scripts after device node is created? Stefan Schweizer
` (12 preceding siblings ...)
2005-08-23 19:25 ` Kay Sievers
@ 2005-08-23 21:34 ` Stefan Schweizer
2005-08-23 21:52 ` Marco d'Itri
14 siblings, 0 replies; 16+ messages in thread
From: Stefan Schweizer @ 2005-08-23 21:34 UTC (permalink / raw)
To: linux-hotplug
[-- Attachment #1: Type: text/plain, Size: 1152 bytes --]
On 8/23/05, Kay Sievers <kay.sievers@vrfy.org> wrote:
> You are catching the event for the "raw" usb device here. I don't know what
> device you need to upload the firmware too, but "raw" usb devices don't
> have a device node in the current kernel only an interface in /proc.
> You may need to catch the event for the printer interface, not sure.
>
> Run "udevmonitor" while connecting the printer, it will show you all
> events. And "udevmonitor --env" will print the whole environment, where
> you can possibly see the DEVNAME.
Thanks you very much, I got it working!
rules look like:
SUBSYSTEM=="usb", KERNEL=="lp*", ACTION=="add",
SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0517",
RUN+="/etc/hotplug/hplj-udev 1000"
SUBSYSTEM=="usb", KERNEL=="lp*", ACTION=="add",
SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1317",
RUN+="/etc/hotplug/hplj-udev 1005"
SUBSYSTEM=="usb", KERNEL=="lp*", ACTION=="add",
SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2B17",
RUN+="/etc/hotplug/hplj-udev 1020"
and the script is attached for those interested.
Comments? Improvements? Is /etc/hotplug a good dir for udev-run-scripts?
Regrads
[-- Attachment #2: hplj-udev --]
[-- Type: application/octet-stream, Size: 2296 bytes --]
#!/bin/sh
# hplj1000:
# hplj1005:
# hplj1020:
#
# Hotplug script for HP1000/1005/1020 USB laser printers. The model number
# that this script deals with is determined from the udev env.
#
# Used to download firmware automatically into the printer when it
# is powered up or plugged into the USB port.
#
# The inspiration fo this script is from:
# Oscar Santacreu. Alicante-Spain (2002)
# Mike Morgan (2004)
# Modified by Stefan Schweizer (2005) to work as a udev-RUN-script
#
# Directory to find downloadable HP firmware files sihpMMMM.dl
#
FWDIR=/usr/share/foo2zjs/firmware
#
# Program used to determine USB id information
#
USBID=/usr/bin/usb_printerid
#
# Figure out how to log our messages
#
if [ -t 1 ]; then
# Running from a tty...
log() {
echo "$0: $@"
}
elif [ -x /usr/bin/logger ]; then
# Have logger...
log() {
logger -t "$0" -- "$@"
}
else
# No logger...
log() {
echo "$0: $@" >> /var/log/messages
}
fi
#
# Figure out the model number from the name of this script
#
case "$1" in
1000)
MODEL=1000
MODELNAME="hp LaserJet $MODEL"
;;
1005)
MODEL=1005
MODELNAME="hp LaserJet $MODEL"
;;
1020)
MODEL=1020
MODELNAME="HP LaserJet $MODEL"
;;
*)
log "Only HP LaserJet 1000, 1005 and 1020 are supported"
exit
;;
esac
#
# Procedure to load a single device with firmware
#
load1() {
fw="$FWDIR/sihp$MODEL.dl"
if [ ! -f "$fw" ]; then
log "Missing HP LaserJet $MODEL firmware file $fw"
log "...read foo2zjs installation instructions and run ./getweb $MODEL"
return 1
fi
log "loading HP LaserJet $MODEL firmware $fw to $DEVNAME ..."
if cat $fw > $DEVNAME; then
log "... download successful."
else
log "... download failed."
fi
return 0
}
#
# OK, now download firmware to any printers that need it
#
if [ -x $USBID ]; then
if $USBID $DEVNAME | grep "$MODELNAME" 2> /dev/null; then
# This is a LaserJet 100x
if $USBID $DEVNAME | grep 'FWVER' 2> /dev/null; then
log "HP LaserJet $MODEL firmware already loaded into $DEVNAME"
else
# Firmware is not yet loaded
load1 "$DEVNAME"
fi
else
log "Wrong printer detected .."
fi
else
log "HP LaserJet $MODEL firmware was not downloaded..."
log "...couldn't find /usr/bin/usb_printerid"
fi
^ permalink raw reply [flat|nested] 16+ messages in thread* Re: Run hotplug scripts after device node is created?
2005-08-22 20:45 Run hotplug scripts after device node is created? Stefan Schweizer
` (13 preceding siblings ...)
2005-08-23 21:34 ` Stefan Schweizer
@ 2005-08-23 21:52 ` Marco d'Itri
14 siblings, 0 replies; 16+ messages in thread
From: Marco d'Itri @ 2005-08-23 21:52 UTC (permalink / raw)
To: linux-hotplug
On Aug 23, Stefan Schweizer <sschweizer@gmail.com> wrote:
> Comments? Improvements? Is /etc/hotplug a good dir for udev-run-scripts?
I suggest you use /lib/hotplug/ or /sbin/.
--
ciao,
Marco
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
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] 16+ messages in thread