pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg/47338: games/onscripter and games/pingus break USB keyboard



The following reply was made to PR pkg/47338; it has been noted by GNATS.

From: Ryo ONODERA <ryo_on%yk.rim.or.jp@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: Re: pkg/47338: games/onscripter and games/pingus break USB keyboard
Date: Mon, 17 Dec 2012 23:51:43 +0900 (JST)

 Hi,
 
 Now I introduce one more USB keyboard, and try to ktrace/kdump onscripter.
 
 From outout of ktrace, onscripter tries to open /dev/uhid1 and
 opens successfully.
 
 For example, from ktrace of oncripter,
 
     75      1 onscripter CALL  open(0x7f7ff7b0fb00,0,0)
     75      1 onscripter NAMI  "/dev/uhid1"
     75      1 onscripter RET   open 5
     75      1 onscripter CALL  ioctl(5,USB_GET_REPORT_DESC,0x7f7fffffd360)
     75      1 onscripter GIO   fd 5 read 1028 bytes
        "\^[\0\0\0\^F\0\M^?      \^A\M-!\^C\^F\0\M^?     \^A\^U\0&\M^?\0\M^EDu\
         \b\M^V\M^?\^A\M^A\0\M-@\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
     75      1 onscripter RET   ioctl 0
     75      1 onscripter CALL  ioctl(5,USB_GET_REPORT_ID,0x7f7ff7b9f2e0)
     75      1 onscripter GIO   fd 5 read 4 bytes
        "D\0\0\0"
     75      1 onscripter RET   ioctl 0
     75      1 onscripter CALL  fcntl(5,4,4)
     75      1 onscripter RET   fcntl 0
     75      1 onscripter CALL  close(5)
     75      1 onscripter RET   close 0
     75      1 onscripter CALL  open(0x7f7ff7b0fb10,0,1)
     75      1 onscripter NAMI  "/dev/uhid2"
     75      1 onscripter RET   open -1 errno 6 Device not configured
 
 
 or
 
     75      1 onscripter CALL  open(0x7f7ff7b0fb00,0,0)
     75      1 onscripter NAMI  "/dev/uhid1"
     75      1 onscripter RET   open 5
     75      1 onscripter CALL  ioctl(5,USB_GET_REPORT_DESC,0x7f7fffffd400)
     75      1 onscripter GIO   fd 5 read 1028 bytes
        "\^[\0\0\0\^F\0\M^?      \^A\M-!\^C\^F\0\M^?     \^A\^U\0&\M^?\0\M^EDu\
         \b\M^V\M^?\^A\M^A\0\M-@\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
         \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
     75      1 onscripter RET   ioctl 0
     75      1 onscripter CALL  ioctl(5,USB_GET_REPORT_ID,0x7f7ff7b9f2e0)
     75      1 onscripter GIO   fd 5 read 4 bytes
        "D\0\0\0"
     75      1 onscripter RET   ioctl 0
     75      1 onscripter CALL  fcntl(5,4,4)
     75      1 onscripter RET   fcntl 0
     75      1 onscripter CALL  write(1,0x7f7ff7b62000,0x14)
     75      1 onscripter GIO   fd 1 wrote 20 bytes
        "Initialize JOYSTICK\n"
     75      1 onscripter RET   write 20/0x14
     75      1 onscripter CALL  poll(0x7f7fffffd620,1,0xffffffff)
     75      1 onscripter RET   poll 1
     75      1 onscripter CALL  writev(4,0x7f7fffffd6f0,3)
     75      1 onscripter GIO   fd 4 wrote 4 bytes
 (snip)
 .
 
 From my dmesg, my machine have
 
 uhidev3 at uhub4 port 2 configuration 1 interface 1
 uhidev3: Apple Inc. Apple Internal Keyboard / Trackpad, rev 2.00/2.19, addr 8, 
i
 class 3/0
 uhidev3: 68 report ids
 uhid1 at uhidev3 reportid 68: input=511, output=0, feature=0
 
 .
 
 Full dmesg of this machine is here.
 
http://wiki.netbsd.org/users/ryoon/how_to_install_netbsd_amd64_to_macbook_air_11_inch/#index10h3
 This machine, Apple Macbook Air 11 inchi mid 2012 model, has many
 "Apple Inc. Apple Internal Keyboard / Trackpad".
 
 
 I have removed "uhid*  at uhidev? reportid ?" from my kernel configuration
 file, and USB keyboard works after onscripter/pignus run.
 
 
 
 I think that onscripter/pingus try to open /dev/uhid1 and open successfully.
 And bad data are transferred to USB keyboard device, then USB keyboard are
 broken.
 
 I think that "Apple Internal Keyboard / Trackpad" has multifinger interface
 like uatp(4).
 I am not sure about this device, uhid may be it.
 
 Thank you, tsustui@ for GNATS outside discussion.
 
 
 
 By the way, even removing "uhid*  at uhidev? reportid ?" from my kernel
 configuration, 2nd run of onscripter/pingus (onscripter after onscripter,
 and pingus after onscripter are confirmed) is fails with endless
 
    539      2 onscripter RET   __nanosleep50 0
    539      2 onscripter CALL  __nanosleep50(0x7f7fefdffd40,0x7f7fefdffd50)
 , this is ktrace from 2nd onscripter.
 
 This problem may be another PR.
 
 
 Anyway, this PR should not categorized as pkg, should be categorized as kern?
 
 Thank you.
 
 --
 Ryo ONODERA // ryo_on%yk.rim.or.jp@localhost
 PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3
 


Home | Main Index | Thread Index | Old Index