Actually, I have read the guilds and tried, but it didnot work. So I asked here.

Two devices related with "can usb" were found when I used the udevadm:

#udevadm info -a -p /sys/devices/pci0000\:00/0000\:00\:0f.4/usb2/2-
2/2-2\:1.0
  looking at device '/devices/pci0000:00/0000:00:0f.4/usb2/2-2/2-2:1.0':
    KERNEL=="2-2:1.0"
    SUBSYSTEM=="usb"
    DRIVER=="CAN_USB331"
    ATTR{bInterfaceNumber}=="00"
    ATTR{bAlternateSetting}==" 0"
    ATTR{bNumEndpoints}=="04"
    ATTR{bInterfaceClass}=="00"
    ATTR{bInterfaceSubClass}=="00"
    ATTR{bInterfaceProtocol}=="00"
    ATTR{modalias}=="usb:v0AB4p0001d0002dc00dsc00dp00ic00isc00ip00"

  looking at parent device '/devices/pci0000:00/0000:00:0f.4/usb2/2-2':
    KERNELS=="2-2"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="80"
    ATTRS{bMaxPower}=="500mA"
    ATTRS{urbnum}=="20"
    ATTRS{idVendor}=="0ab4"
    ATTRS{idProduct}=="0001"
    ATTRS{bcdDevice}=="0002"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="16"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="2"
    ATTRS{devnum}=="2"
    ATTRS{version}==" 1.00"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="esd-gmbh"
    ATTRS{product}=="CAN-USB 543"
    ATTRS{serial}=="GD001494"

The module was loaded by an alias in /etc/modules.d/esdcan:
alias char-major-50 esdcan-usb331
But I cannot find the major:minor informations in the udev info above.

I tried the rules:
SUBSYSTEM=="usb", DRIVER=="CAN_USB331", ATTR{serial}=="GD001494", NAME="can0"
SUBSYSTEM=="usb", DRIVER=="CAN_USB331", NAME="can0"
DRIVER=="CAN_USB331", NAME="can0"
and
SUBSYSTEM=="usb", ATTR{serial}=="GD001494", NAME="can%n"
But any one of them does not work.

Anyone can help me?


2009/8/27 KH <[email protected]>:
> Song Zhiwei schrieb:
>> Hi all,
>>
>> I complied a driver esdcan_usb331.so. I'd like use udev to create
>> character devices /dev/can0 and /dev/can1 with major 50 and minor 0/1
>> for the driver. How to write the udev rule for it?
>>
>> The dmesg is:
>> esd CAN driver: CAN_USB331
>> esd CAN driver: baudrate not set
>> esd CAN driver: mode = 0x00000000, major = 50, verbose = 0x00000001
>> esd CAN driver: version 3.8.3 06:03:32 Aug 24 2009: successfully loaded
>> usbcore: registered new interface driver CAN_USB331
>>
>
> Hi,
>
> there are two good guides for this:
>
> http://www.gentoo.org/doc/en/udev-guide.xml
> http://www.reactivated.net/writing_udev_rules.html
>
> Regards kh
>
>

Reply via email to