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
>
>