View previous topic :: View next topic |
Author |
Message |
gbetous l33t


Joined: 15 Jan 2004 Posts: 679 Location: Toulouse
|
Posted: Tue Jun 26, 2007 5:33 am Post subject: [udev] Peut-on utiliser ATTRS ? [résolu] |
|
|
Bonjour,
J'essaye de "personnaliser" ma clé usb en lui assignant une règle udev. Mais ça marche pô...
Voici les infos udev
Code: |
# udevinfo -a -p /sys/block/sdb
Udevinfo starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/block/sdb':
KERNEL=="sdb"
SUBSYSTEM=="block"
DRIVER==""
ATTR{stat}==" 101 492 1055 5140 2425 66 544978 11404060 0 110604 11409200"
ATTR{size}=="4030463"
ATTR{removable}=="1"
ATTR{range}=="16"
ATTR{dev}=="8:16"
looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.0/host8/target8:0:0/8:0:0:0':
KERNELS=="8:0:0:0"
SUBSYSTEMS=="scsi"
DRIVERS=="sd"
ATTRS{ioerr_cnt}=="0x1"
ATTRS{iodone_cnt}=="0xb91"
ATTRS{iorequest_cnt}=="0xb91"
ATTRS{iocounterbits}=="32"
ATTRS{timeout}=="30"
ATTRS{state}=="running"
ATTRS{rev}=="2.00"
ATTRS{model}=="USB2.0 Flashdisk"
ATTRS{vendor}=="KINGMAX "
ATTRS{scsi_level}=="3"
ATTRS{type}=="0"
ATTRS{queue_type}=="none"
ATTRS{queue_depth}=="1"
ATTRS{device_blocked}=="0"
ATTRS{max_sectors}=="240"
looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.0/host8/target8:0:0':
KERNELS=="target8:0:0"
SUBSYSTEMS==""
DRIVERS==""
looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.0/host8':
KERNELS=="host8"
SUBSYSTEMS==""
DRIVERS==""
looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.0':
KERNELS=="2-2:1.0"
SUBSYSTEMS=="usb"
DRIVERS=="usb-storage"
ATTRS{modalias}=="usb:v1307p0163d0100dc00dsc00dp00ic08isc06ip50"
ATTRS{bInterfaceProtocol}=="50"
ATTRS{bInterfaceSubClass}=="06"
ATTRS{bInterfaceClass}=="08"
ATTRS{bNumEndpoints}=="03"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bInterfaceNumber}=="00"
looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-2':
KERNELS=="2-2"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{serial}=="2400000000034E"
ATTRS{product}=="USB Mass Storage Device"
ATTRS{manufacturer}=="USBest Technology"
ATTRS{maxchild}=="0"
ATTRS{version}==" 2.00"
ATTRS{devnum}=="2"
ATTRS{speed}=="480"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{bNumConfigurations}=="1"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceClass}=="00"
ATTRS{bcdDevice}=="0100"
ATTRS{idProduct}=="0163"
ATTRS{idVendor}=="1307"
ATTRS{bMaxPower}==" 80mA"
ATTRS{bmAttributes}=="80"
ATTRS{bConfigurationValue}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{configuration}==""
[je coupe ici]
|
J'ai écrit une règle :
Code: |
# more /etc/udev/rules.d/10-local.rules
BUS=="usb", KERNEL=="sd?", ATTRS{model}=="USB2.0 Flashdisk" ,ATTRS{vendor}=="KINGMAX " , SYMLINK+="usbdrive"
|
... mais rien ne se passe lorsque je rebranche ma clé. D'ailleurs udevtest me donne la sortie suivante :
Code: |
udevtest /sys/class/usb_device/usbdev2.2/
parse_file: reading '/etc/udev/rules.d/05-udev-early.rules' as rules file
parse_file: reading '/etc/udev/rules.d/10-local.rules' as rules file
parse_file: reading '/etc/udev/rules.d/50-udev.rules' as rules file
parse_file: reading '/etc/udev/rules.d/60-persistent-input.rules' as rules file
parse_file: reading '/etc/udev/rules.d/60-persistent-storage.rules' as rules file
parse_file: reading '/etc/udev/rules.d/70-persistent-cd.rules' as rules file
parse_file: reading '/etc/udev/rules.d/70-persistent-net.rules' as rules file
parse_file: reading '/etc/udev/rules.d/75-cd-aliases-generator.rules' as rules file
parse_file: reading '/etc/udev/rules.d/75-persistent-net-generator.rules' as rules file
parse_file: reading '/etc/udev/rules.d/90-hal.rules' as rules file
parse_file: reading '/etc/udev/rules.d/95-net.rules' as rules file
parse_file: reading '/etc/udev/rules.d/99-libgphoto2.rules' as rules file
This program is for debugging only, it does not create any node,
or run any program specified by a RUN key. It may show incorrect results,
if rules match against subsystem specfic kernel event variables.
main: looking at device '/class/usb_device/usbdev2.2' from subsystem 'usb_device'
run_program: '/bin/sh -c 'K=usbdev2.2; K=${K#usbdev}; printf bus/usb/%03i/%03i ${K%%.*} ${K#*.}''
run_program: '/bin/sh' (stdout) 'bus/usb/002/002'
run_program: '/bin/sh' returned with status 0
udev_rules_get_name: rule applied, 'usbdev2.2' becomes 'bus/usb/002/002'
run_program: 'check_ptp_camera 06/01/01'
run_program: '/lib/udev/check_ptp_camera' returned with status 1
run_program: 'check_ptp_camera 06/01/01'
run_program: '/lib/udev/check_ptp_camera' returned with status 1
udev_device_event: device '/class/usb_device/usbdev2.2' already in database, validate currently present symlinks
udev_node_add: creating device node '/dev/bus/usb/002/002', major = '189', minor = '129', mode = '0664', uid = '0', gid = '85'
main: run: 'udev_run_devd usb_device'
main: run: 'socket:/org/kernel/udev/monitor'
main: run: 'socket:/org/freedesktop/hal/udev_event'
|
Si qqu'un a une idée... _________________ Core2Quad Q6600
ASUS P5B-V (i965 video intégrée)
~amd64 / KDE
Last edited by gbetous on Wed Jun 27, 2007 5:46 am; edited 1 time in total |
|
Back to top |
|
 |
titoucha Advocate


Joined: 21 Jul 2005 Posts: 2374 Location: Genève
|
Posted: Tue Jun 26, 2007 5:44 am Post subject: |
|
|
Vite fait, teste ta règle avec _________________ Assurez-vous que le titre de votre message soit conforme aux conventions de ce forum (paragraphe 3/3 : Comment poster sur le forum ??) |
|
Back to top |
|
 |
gbetous l33t


Joined: 15 Jan 2004 Posts: 679 Location: Toulouse
|
Posted: Tue Jun 26, 2007 6:11 am Post subject: |
|
|
Pas mieux.
Tu voulais bien que je prenne toute la règle avec sd* à la place de sd?, et non pas mettre uniquement sd* ? _________________ Core2Quad Q6600
ASUS P5B-V (i965 video intégrée)
~amd64 / KDE
|
|
Back to top |
|
 |
polytan Guru


Joined: 29 Jul 2004 Posts: 370 Location: Cambridge - UK
|
Posted: Tue Jun 26, 2007 6:18 am Post subject: |
|
|
Je n'y connais pas grand chose, mais si au lieu de
Code: | looking at device '/block/sdb':
KERNEL=="sdb"
SUBSYSTEM=="block"
|
tu lies avec ? _________________ Wait & See
-=( Polytan )=- |
|
Back to top |
|
 |
titoucha Advocate


Joined: 21 Jul 2005 Posts: 2374 Location: Genève
|
Posted: Wed Jun 27, 2007 12:14 am Post subject: |
|
|
Je te mets une règle udev qui fonctionne et qui crée un device /dev/iriver
Code: | BUS=="usb", SYSFS{manufacturer}=="iRiver", NAME="iriver" GROUP="plugdev" |
_________________ Assurez-vous que le titre de votre message soit conforme aux conventions de ce forum (paragraphe 3/3 : Comment poster sur le forum ??) |
|
Back to top |
|
 |
gbetous l33t


Joined: 15 Jan 2004 Posts: 679 Location: Toulouse
|
Posted: Wed Jun 27, 2007 5:37 am Post subject: |
|
|
Oui mais moi j'ai aucune ligne "SYSFS" quand je fais mon udevinfo...
J'ai quand meme tenté, ça n'a rien fait  _________________ Core2Quad Q6600
ASUS P5B-V (i965 video intégrée)
~amd64 / KDE
|
|
Back to top |
|
 |
gbetous l33t


Joined: 15 Jan 2004 Posts: 679 Location: Toulouse
|
Posted: Wed Jun 27, 2007 5:45 am Post subject: |
|
|
A y est !!! J'ai trouvé en faisant ma nième recherche, et en tombant une page sur l'utilisation d'un TomTom.
En fait, ma première règle est bonne, sauf que ce n'est pas BUS=="usb", mais BUS=="scsi" !!! _________________ Core2Quad Q6600
ASUS P5B-V (i965 video intégrée)
~amd64 / KDE
|
|
Back to top |
|
 |
|