Portál AbcLinuxu, 12. června 2024 17:36

Genius MaxFire G-07

Ovladač: v jádře

Technické parametry

Identifikace pod Linuxem

/proc/bus/usb/devices:
T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 0.00
S:  Product=USB UHCI Root Hub
S:  SerialNumber=d400
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms
T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=1.5 MxCh= 0
D:  Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0458 ProdID=1002 Rev= 1.01
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=hid
E:  Ad=81(I) Atr=03(Int.) MxPS=   6 Ivl= 10ms

/proc/bus/usb/drivers

         usbdevfs
         hub
 96-111: hiddev
         hid

dmesg:

hub.c: port 1 connection change
hub.c: port 1, portstatus 301, change 1, 1.5 Mb/s
hub.c: port 1, portstatus 303, change 0, 1.5 Mb/s
hub.c: USB new device connect on bus1/1, assigned device number 2
usb.c: kmalloc IF d6b4d200, numif 1
usb.c: skipped 1 class/vendor specific interface descriptors
usb.c: new device strings: Mfr=0, Product=0, SerialNumber=0
usb.c: unhandled interfaces on device
usb.c: USB device 2 (vend/prod 0x458/0x1002) is not claimed by any active driver.
  Length              = 18
  DescriptorType      = 01
  USB version         = 1.00
  Vendor:Product      = 0458:1002
  MaxPacketSize0      = 8
  NumConfigurations   = 1
  Device version      = 1.01
  Device Class:SubClass:Protocol = 00:00:00
    Per-interface classes
Configuration:
  bLength             =    9
  bDescriptorType     =   02
  wTotalLength        = 0022
  bNumInterfaces      =   01
  bConfigurationValue =   01
  iConfiguration      =   00
  bmAttributes        =   80
  MaxPower            =  100mA

  Interface: 0
  Alternate Setting:  0
    bLength             =    9
    bDescriptorType     =   04
    bInterfaceNumber    =   00
    bAlternateSetting   =   00
    bNumEndpoints       =   01
    bInterface Class:SubClass:Protocol =   03:00:00
    iInterface          =   00
    Endpoint:
      bLength             =    7
      bDescriptorType     =   05
      bEndpointAddress    =   81 (in)
      bmAttributes        =   03 (Interrupt)
      wMaxPacketSize      = 0006
      bInterval           =   0a
usb.c: kusbd: /sbin/hotplug add 2
usb.c: registered new driver hiddev
usb.c: registered new driver hid
usb-uhci.c: interrupt, status 3, frame# 285
usb_control/bulk_msg: timeout
input0: USB HID v1.00 Gamepad [0458:1002] on usb1:2.0
usb.c: hid driver claimed interface d6b4d200
hid-core.c: v1.8 Andreas Gal, Vojtech Pavlik 
hid-core.c: USB HID support drivers

Postup zprovoznění pod Linuxem

    Nez zacneme
  1. Pokud mame AT board, potrebujeme stitek s USB konektory. Ten v lepsim pripade mame v krabici s boradem; v horsim si z netu stahneme manual k boardu, koupime v bazaru nejaky levny stitek a pokud nebude zapojeni konektoru k desce souhlasit, prelisujeme ho.
  2. Najdeme volny USB port. Ve vetsine pripadu je to jedno, ale muze se stat u nekterych znackovych sestav, ze zalezi na poradi obsazovani konektoru.
  3. V BIOSu povolime USB a pripojime gamepad. Mela by se rozsvitit LED, tedy vsechno je v poradku. Pro jistotu ho zase odpojime.
    Pokracujeme v linuxu
  1. V jadre musime mit podporu USB pro svuj HW, dale podporu joysticku a HID
  2. Je velice vyhodne mit jadro prelozene s podporou hotplug a mit prislusne balicky.
  3. Pokud nepouzivame hotplug, upravime /etc/modules.conf nasledovne:
             # modules for joystick
               alias char-major-13 input
               above input hid joydev
    
  4. Pokud pouzivame hotplug, upravime /etc/modules.conf nasledovne:
             # modules for joystick
               alias char-major-13 joydev
    
  5. Pripojime gamepad a sledujeme vypis hlasek jadra a soubor /proc/bus/usb/devices. Pokud u gamepadu uvidime driver=hid, je vse v poradku. Pokud ne, hotplug byl spusten, ale nenasel zadny vhodny ovladac (muze se stat u nekterych 2.2. jader), pridame do souboru /etc/hotplug/usb.usermap radek:
             # usb module         match_flags idVendor idProduct bcdDevice_lo bcdDevice_hi bDeviceClass bDeviceSubClass bDeviceProtocol bInterfaceClass bInterfaceSubClass bInterfaceProtocol driver_info
             hid                  0x0080      0x0000   0x0000    0x0000       0x0000       0x00         0x00            0x00            0x03            0x00       0x00               0x00000000
    
  6. Pokud nemame v adresari /dev specialni soubory js, vytvorime je podle navodu v Documentation/input/joystick.txt napr.:
             # mknod /dev/js0 c 13 0
             # mknod /dev/js1 c 13 1
             # ln -s /dev/js0 /dev/js
    
    Nezapomeneme nastavit nejaka inteligentni pristupova prava ;)
    pozn.: cislo je opravdu 13, narozdil joysticku, ktere maji v 2.2 jadrech 15 a v 2.4 13...
  7. vyzkousime cat /dev/js a pohneme gamepadem. Pokud vypisuje nejake nesmysly v zavislosti na pohnuti padu je vse v poradku.
  8. Vyzkousime v nejake aplikaci (treba quake...). Pokud mame vice joysticku a aplikace je nepodporuje, nebo chceme pouzivat jen jeden, vyresime to linkem na spravne zarizeni.

Poznámka

Pod linuxem tedy tento gamepad spolehlive chodi. Testovano na SlackWare 8.0.0 a jadry 2.4.14 a 2.2.19 + prislusne utility.
TODO: URL, manual...

Dokument vytvořil: David Jež, 26.12.2001 17:38 | Zobrazeno: 1009×

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.