[gelöst] Device erzeugen und zuordnen ohne mdev (mit mknod ???)

Phreaker

Neuer User
Mitglied seit
15 Dez 2005
Beiträge
44
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

leider ist mdev nicht in 1.1.3 verfügbar und in trunk wegen Ticket 1051 auch nicht kompilierbar.

Nun wollte ich versuchen mein USB Empfänger manuell zuzuordnen. Leider hatte ich damit noch keinen Erfolg. Weiß jemand was ich falsch mache?

Wenn ich den Empfänger an meinen PC anschließe, dann wird er mit Major 13 und Minor 68 unter /dev/input/event4 erstellt.

Auf der Fritzbox habe ich nun versucht mit mknod das device anzulegen.

Code:
mknod /dev/event10 c 13 68

Aber wenn man drauf zugreift kommt der Fehler
cat: can't open '/dev/event0': No such device

Unter listusb -v wird folgendes angezeigt

Code:
Bus 001 Device 002: ID 0bc7:0006 X10 Wireless Technology, Inc.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x0bc7 X10 Wireless Technology, Inc.
  idProduct          0x0006
  bcdDevice            1.00
  iManufacturer           1 X10 WTI
  iProduct                2 RF receiver
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower                2mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
Device Status:     0x0000
  (Bus Powered)

Gruß Phreaker
 
Zuletzt bearbeitet:
Hallo RalfFriedl,

der ati_remote.

Der Treiber ist auch geladen.

Code:
root@fritz:/var/mod/root# lsmod
Module                  Size  Used by    Tainted: P
ati_remote             10703  0
usbhid                 33646  0
mousedev               10462  0
input_core             25456  4 ati_remote,usbhid,mousedev
rtc_avm                 6557  0
rtc_sysfs               2704  0
rtc_proc                3847  0
rtc_dev                 5493  0
rtc_core                7083  4 rtc_avm,rtc_sysfs,rtc_proc,rtc_dev
rtc_lib                 2712  3 rtc_avm,rtc_sysfs,rtc_core
sch_sfq                 5671  4
sch_llq                 9170  1
sch_tbf                 5716  1
wlan_scan_ap            8937  1
wlan_acl                4090  1
wlan_wep                6098  0
wlan_tkip              12489  2
wlan_ccmp               8476  2
wlan_xauth              1182  0
ath_pci               155648  0
ath_spectral           95136  1 ath_pci
ath_rate_atheros       61891  1 ath_pci
wlan                  232709  9 wlan_scan_ap,wlan_acl,wlan_wep,wlan_tkip,wlan_ccmp,wlan_xauth,ath_pci,ath_rate_atheros
ath_dfs                39299  3 wlan_scan_ap,ath_pci,wlan
ath_hal               242344  5 ath_pci,ath_spectral,ath_rate_atheros,ath_dfs
avm_ath_extensions     47377  6 wlan_scan_ap,ath_pci,ath_rate_atheros,wlan,ath_dfs,ath_hal
userman_mod            43271  2
kdsldmod              985699  9 userman_mod
musb_hdrc              36913  0
usbcore               125620  4 ati_remote,usbhid,musb_hdrc
dect_io                16010  0
avm_dect              230507  1 dect_io
capi_codec            350952  0
isdn_fbox_fon5        766465  5
pcmlink               335806  3 avm_dect,capi_codec,isdn_fbox_fon5
dsl_ur8               182890  0
ext2                   58217  1
mbcache                 7019  1 ext2
loop                   13938  2
jffs2                 115397  1
Piglet_noemif          41719  0
led_modul_Fritz_Box_7270_16    63383  5 ath_hal
 
Das ist im Kernel enthalten.
Ich habe es bei make kernel-menuconfig als Modul ausgewählt, kompiliert und auf die Box kopiert.
 
Ich habe gerade gesehen, die Datei ist in einem anderen Verzeichnis als in anderen Kernel-Versionen.

Was sagt
Code:
cat /proc/devices
 
Das inputdevice zeigt es an.

Code:
cat /proc/devices
Character devices:
255 avm_net_trace
  1 mem
  2 pty
  3 ttyp
  4 ttyS
  5 /dev/tty
  5 /dev/console
  5 /dev/ptmx
 10 misc
 13 input
 68 capi_oslib
 90 mtd
128 ptm
136 pts
180 usb
189 usb_device
226 kdsld_traffic
227 dect_io
228 userman
229 kdsld_user
230 dsl
239 wlan_eeprom
240 tffs
241 avm_event
242 watchdog
243 kdsld
244 kdsldptrace
246 debug
247 led
252 avm_power
253 rtc
254 kdsld_misc

Block devices:
  7 loop
 31 mtdblock
 
Die Major Nummer 13 steht also für input, das sollte passen. Vermutlich paßt aber die Minor Nummer nicht, weil es weniger Eingabegeräte gibt als auf einem PC.

Versuch mal
Code:
ls -l /sys/class/input/event*
cat /sys/class/input/event*/dev
 
Hallo RalfFriedl,

ich habe noch mal mein altes Image installiert.
Dort funktioniert es ohne den mdev Aufruf.

Mit mdev
Code:
/dev # modprobe ati_remote
/dev # mdev -s
/dev # ls -l | grep event
crw-rw-rw-    1 root     root     241,   0 Jan  1  2000 avm_event
crw-rw----    1 root     root      13,  64 Sep 29 22:30 event0
/dev # ls -l /sys/class/input/event*
lrwxrwxrwx    1 root     root            0 Sep 29 22:30 /sys/class/input/event0 -> ../../class/input/input0/event0
/dev # cat /sys/class/input/event*/dev
13:64
/dev # cat /sys/class/input/event0/device/manufacturer
X10 WTI
/dev # cat /dev/event0
¤£Lr¤

ohne mdev
Code:
/dev # mknod /dev/event0 c 13 64 
/dev # modprobe ati_remote
/dev # cat /dev/event0
¤£Lr¤

Dann muss das Problem bei dem neuen Image ein anderes sein oder was meinst du?

Bei dem 86 Image wird /sys/class/input/event0 nicht angelegt :-(
modprobe ati_remote zeigt aber keinen fehler an.

edit:
Ich habe nun noch ein paar Module mehr geladen und jetzt funktioniert es.
Morgen teste ich welches genau der Übeltäter war.

Danke für deine Unterstützung RalfFriedl.
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.