मेरे पास एक PCI डिवाइस है जिसमें खुद के ड्राइवर हैं (लिनक्स कर्नेल में एकीकृत नहीं)। मैंने डिवाइस जानकारी का उपयोग करके एकत्र किया है udevadm
।
udevadm info -a -p /sys/devices/pci0000:00/0000:00:1e.0/0000:0d:02.0
Udevadm की जानकारी देवपथ द्वारा निर्दिष्ट डिवाइस से शुरू होती है और फिर मूल उपकरणों की श्रृंखला तक चलती है। यह पाया गया हर डिवाइस के लिए प्रिंट करता है, udev नियम कुंजी प्रारूप में सभी संभावित विशेषताएँ।
मिलान करने के लिए एक नियम, डिवाइस की विशेषताओं और एक एकल मूल डिवाइस से विशेषताओं द्वारा बनाया जा सकता है।
looking at device '/devices/pci0000:00/0000:00:1e.0/0000:0d:02.0':
KERNEL=="0000:0d:02.0"
SUBSYSTEM=="pci"
DRIVER==""
ATTR{irq}=="10"
ATTR{subsystem_vendor}=="0xe1c5"
ATTR{broken_parity_status}=="0"
ATTR{class}=="0x078000"
ATTR{driver_override}=="(null)"
ATTR{consistent_dma_mask_bits}=="32"
ATTR{dma_mask_bits}=="32"
ATTR{local_cpus}=="00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,000000ff"
ATTR{device}=="0x9030"
ATTR{enable}=="0"
ATTR{msi_bus}==""
ATTR{local_cpulist}=="0-7"
ATTR{vendor}=="0x10b5"
ATTR{subsystem_device}=="0x0005"
ATTR{numa_node}=="-1"
ATTR{d3cold_allowed}=="1"
looking at parent device '/devices/pci0000:00/0000:00:1e.0':
KERNELS=="0000:00:1e.0"
SUBSYSTEMS=="pci"
DRIVERS==""
ATTRS{irq}=="0"
ATTRS{subsystem_vendor}=="0x103c"
ATTRS{broken_parity_status}=="0"
ATTRS{class}=="0x060401"
ATTRS{driver_override}=="(null)"
ATTRS{consistent_dma_mask_bits}=="32"
ATTRS{dma_mask_bits}=="32"
ATTRS{local_cpus}=="00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,000000ff"
ATTRS{device}=="0x244e"
ATTRS{enable}=="1"
ATTRS{msi_bus}=="1"
ATTRS{local_cpulist}=="0-7"
ATTRS{vendor}=="0x8086"
ATTRS{subsystem_device}=="0x304b"
ATTRS{numa_node}=="-1"
ATTRS{d3cold_allowed}=="0"
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
तो फिर मैं बनाई गई रिपोर्ट्स 99-elcus1553.rules
में /etc/udev/rules.d/
:
ACTION=="add",SUBSYSTEM=="pci",ATTR{vendor}=="0x10b5",ATTR{device}=="0x9030",RUN+="/home/qmor/elcus-1553driver-linux/trunk/loaddrv"
जिसमें है:
/sbin/rmmod tmk1553b
rm /dev/tmk1553b
/sbin/insmod tmk1553b.ko d0=1 t0="TAI" misc=1
chmod o+rwx /dev/tmk1553b
रिबूट के बाद, मेरे पास कोई /dev/tmk1553b
उपकरण नहीं है, इसका मतलब है कि फ़ाइल नियम काम नहीं कर रहा है। मैंने क्या गलत किया है?