I'm trying to use evdev to read from a J. Gordon USBSIMM board that offers
an HID endpoint.  I've tried:

  2.3.99-pre5
  2.3.99-pre3 + Vojtech Pavlik's 0.9.2 input drivers patch

with the same result:  an oops when I try to read from the evdev device,
e.g. "cat /dev/input/event0" or "evtest /dev/input/event0".  I have loaded
(as modules) usbcore, usb-uhci, input, hid, and evdev.

Should this work?  Am I doing something dumb?  I can read from the board
using the generic HID driver in Win98.

Attached are:

  1) /proc/bus/usb/devices
  2) dmesg
  3) ksymoops

Thanks,

John DeGood
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=12  MxCh= 0
D:  Ver= 1.01 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=08b8 ProdID=01f4 Rev= 1.00
S:  Manufacturer=J. Gordon Electronic Design Inc?
S:  Product=USBSIMM1v1.5
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=200mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=hid
E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=100ms
Linux version 2.3.99-pre5 ([EMAIL PROTECTED]) (gcc version egcs-2.91.66 
19990314/Linux (egcs-1.1.2 release)) #1 Mon Apr 24 09:53:53 EDT 2000
e820: 0009fc00 @ 00000000 (usable)
e820: 00000400 @ 0009fc00 (reserved)
e820: 00010000 @ 000f0000 (reserved)
e820: 00010000 @ ffff0000 (reserved)
e820: 03f00000 @ 00100000 (usable)
On node 0 totalpages: 16384
zone(0): 4096 pages.
zone(1): 12288 pages.
zone(2): 0 pages.
Initializing CPU#0
Detected 501150764 Hz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 999.42 BogoMIPS
Memory: 61652k/65536k available (1499k kernel code, 3496k reserved, 100k data, 184k 
init, 0k highmem)
Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes)
Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
CPU: Intel Celeron (Mendocino) stepping 05
Checking 386/387 coupling... OK, FPU using exception 16 error reporting.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.36 (20000221) Richard Gooch ([EMAIL PROTECTED])
PCI: PCI BIOS revision 2.10 entry at 0xfb140, last bus=1
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI: Using IRQ router VIA [1106/0596] at 00:07.0
Activating ISA DMA hang workarounds.
isapnp: Scanning for Pnp cards...
isapnp: No Plug & Play device found
Linux NET4.0 for Linux 2.3
Based upon Swansea University Computer Society NET3.039
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 4096 bind 4096)
Starting kswapd v1.6
pty: 256 Unix98 ptys configured
Uniform Multi-Platform E-IDE driver Revision: 6.30
ide: Assuming 40MHz system bus speed for PIO modes; override with idebus=xx
VP_IDE: IDE controller on PCI bus 00 dev 39
VP_IDE: not 100% native mode: will probe irqs later
hda: Maxtor 91531U3, ATA DISK drive
hdc: TOSHIBA CD-ROM XM-6702B, ATAPI CDROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: 30015216 sectors (15368 MB) w/512KiB Cache, CHS=1868/255/63
hdc: ATAPI 48X CD-ROM drive, 128kB Cache
Uniform CD-ROM driver Revision: 3.07
Partition check:
 hda: hda1 hda2 < hda5 hda6 >
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
scsi : 0 hosts.
scsi : detected total.
Serial driver version 4.93 (2000-03-20) with MANY_PORTS SHARE_IRQ SERIAL_PCI ISAPNP 
enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
Linux Tulip driver version 0.9.4.2 (Mar 21, 2000)
eth0: Digital DS21140 Tulip rev 18 at 0xd800, 00:00:C0:3D:35:E4, IRQ 9.
eth0: Old format EEPROM on 'SMC9332DST' board.  Using substitute media control info.
eth0:  EEPROM default media type Autosense.
eth0:  Index #0 - Media 10baseT (#0) described by a 21140 non-MII (0) block.
eth0:  Index #1 - Media 10baseT-FD (#4) described by a 21140 non-MII (0) block.
eth0:  Index #2 - Media 100baseTx (#3) described by a 21140 non-MII (0) block.
eth0:  Index #3 - Media 100baseTx-FD (#5) described by a 21140 non-MII (0) block.
[drm] Initialized tdfx 0.0.1 19991009 on minor 63
Linux PCMCIA Card Services 3.1.11
  options:  [pci] [cardbus] [pm]
Databook TCIC-2 PCMCIA probe: not found.
kmem_create: Forcing size word alignment - nfs_fh
ds: no socket drivers loaded!
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 184k freed
Adding Swap: 265032k swap-space (priority -1)
nfs warning: mount version older than kernel
shmget: shm filesystem not mounted
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-uhci.c: $Revision: 1.228 $ time 10:10:23 Apr 24 2000
usb-uhci.c: High bandwidth mode enabled
usb-uhci.c: USB UHCI at I/O 0xd400, IRQ 10
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 1
usb.c: USB new device connect, assigned device number 1
hub.c: USB hub found
hub.c: 2 ports detected
usb.c: USB new device connect, assigned device number 2
usb.c: This device is not recognized by any installed USB driver.
hub.c: already running port 1 disabled by hub (EMI?), re-enabling...
usb.c: USB disconnect on device 2
usb.c: USB new device connect, assigned device number 2
usb.c: This device is not recognized by any installed USB driver.
usb.c: registered new driver hid
input0: USB HID v1.00 Pointer
event0: Event device for input0
Unable to handle kernel NULL pointer dereference at virtual address 0000000f
 printing eip:
0000000f
*pde = 00000000
Oops: 0000
CPU:    0
EIP:    0010:[<0000000f>]
EFLAGS: 00010206
eax: c2a52d28   ebx: 00000000   ecx: 00000000   edx: 0000000f
esi: c2e1a180   edi: 00000001   ebp: c3b63000   esp: c2ca3f18
ds: 0018   es: 0018   ss: 0018
Process evtest (pid: 623, stackpage=c2ca3000)
Stack: c48352af c2a52d28 c483b2ad c2e1a18c c2a561c0 c2cad640 c2a561c0 c2ce93a0 
       0000000d c483559d c2a561c0 c2cad640 00000000 c012f12b c2a561c0 c2cad640 
       c2cad640 ffffffe9 c2a561c0 c012e262 c2a561c0 c2cad640 00000000 c2ce7000 
Call Trace: [<c48352af>] [<c483b2ad>] [<c483559d>] [<c012f12b>] [<c012e262>] 
[<c012e1bf>] [<c012e466>] 
       [<c010af24>] 
Code:  Bad EIP value.
ksymoops 0.7c on i686 2.3.99-pre5.  Options used
     -V (default)
     -k /proc/ksyms (default)
     -l /proc/modules (default)
     -o /lib/modules/2.3.99-pre5/ (default)
     -m /usr/src/linux/System.map (default)

Warning: You did not tell me where to find symbol information.  I will
assume that the log matches the kernel and modules that are running
right now and I'll use the default options above for symbol resolution.
If the current kernel and/or modules do not match the log, you can get
more accurate output by telling me the kernel version and where to find
map, modules, ksyms etc.  ksymoops -h explains the options.

Warning (compare_ksyms_lsmod): module evdev is in lsmod but not in ksyms, probably no 
symbols exported
Unable to handle kernel NULL pointer dereference at virtual address 0000000f
0000000f
*pde = 00000000
Oops: 0000
CPU:    0
EIP:    0010:[<0000000f>]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010206
eax: c2a52d28   ebx: 00000000   ecx: 00000000   edx: 0000000f
esi: c2e1a180   edi: 00000001   ebp: c3b63000   esp: c2ca3f18
ds: 0018   es: 0018   ss: 0018
Process evtest (pid: 623, stackpage=c2ca3000)
Stack: c48352af c2a52d28 c483b2ad c2e1a18c c2a561c0 c2cad640 c2a561c0 c2ce93a0 
       0000000d c483559d c2a561c0 c2cad640 00000000 c012f12b c2a561c0 c2cad640 
       c2cad640 ffffffe9 c2a561c0 c012e262 c2a561c0 c2cad640 00000000 c2ce7000 
Call Trace: [<c48352af>] [<c483b2ad>] [<c483559d>] [<c012f12b>] [<c012e262>] 
[<c012e1bf>] [<c012e466>] 
       [<c010af24>] 
Code:  Bad EIP value.
Warning (Oops_code): trailing garbage ignored on Code: line
  Text: 'Code:  Bad EIP value.'
  Garbage: 'IP value.'
Error (Oops_code_values): invalid value 0xBad in Code line, must be 2, 4, 8 or 16 
digits, value ignored
Error (Oops_code_values): invalid value 0xE in Code line, must be 2, 4, 8 or 16 
digits, value ignored

>>EIP; 0000000f Before first symbol   <=====
Trace; c48352af <[input]input_open_device+17/20>
Trace; c483b2ad <hid_driver+1919/????>
Trace; c483559d <[input]input_open_file+49/50>
Trace; c012f12b <chrdev_open+3f/4c>
Trace; c012e262 <dentry_open+9a/e4>
Trace; c012e1bf <filp_open+47/50>
Trace; c012e466 <sys_open+3a/d8>
Trace; c010af24 <system_call+34/40>
Code;  0000000f Before first symbol
00000000 <_EIP>:


3 warnings and 2 errors issued.  Results may not be reliable.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to