Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 Dec 2000 13:06:25 +0000 (GMT)
From:      Nick Hibma <n_hibma@calcaphon.com>
To:        Jon Simola <jon@abccom.bc.ca>
Cc:        hackers@freebsd.org
Subject:   Re: Broken-by-design USB device?
Message-ID:  <Pine.BSF.4.20.0012301255040.4807-100000@henny.webweaving.org>
In-Reply-To: <Pine.BSF.3.96.1001124160514.9801G-100000@newmail.netbistro.com>

next in thread | previous in thread | raw e-mail | index | archive | help
The panic is definitely bad. It happens straight after failing the
attach?

If you could recompile the kernel with

	options 	DDB
	makeoptions	DEBUG=-g

plug the device in again, and after it has panicked (it will drop into
the debugger), type trace. That would give me a hint at where it
crashes.

The controller probably requires some work because a fake report
descriptor is needed to make it possible for the uhid driver to talk to
it. It does not provide any information on where the information for the
buttons and axes is stored in the descriptor returned on the interrupt
pipe.

Nick

> I've got a little USB device that allows Playstation controllers to be 
> used on a PC. If it's plugged in while booting FreeBSD 4.2-RELEASE (the
> shipped GENERIC kernel), I get:
> 
> uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0xd400-0xd41f irq 3 at
> device 4.2 on pci0
> usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
> usb0: USB revision 1.0
> uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> uhub0: 2 ports with 2 removable, self powered
> uhid0: vendor 0x6666 product 0x0667, rev 1.00/2.88, addr 2, iclass 3/0
> uhid0: no report descriptor
> device_probe_and_attach: uhid0 attach returned 6
> 
> 
> Fatal trap 12: page fault while in kernel mode
> fault virtual address   = 0x0
> fault code              = supervisor read, page not present
> instruction pointer     = 0x8:0xc012663a
> stack pointer           = 0x10:0xc044a938
> frame pointer           = 0x10:0xc044a938
> code segment            = base 0x0, limit 0xfffff, type 0x1b
>                         = DPL 0, pres 1, def32 1, gran 1
> processor eflags        = interrupt enabled, resume, IOPL = 0
> current process         = 0 (swapper)
> interrupt mask          = net tty bio cam
> trap number             = 12
> panic: page fault
> Uptime: 0s
> Automatic reboot in 15 seconds - press a key on the console to abort
> 
> 
> After poking around in the uhid and usb code, I'm beginning to think that 
> this adapter is just broken by design. Can someone a bit more familiar
> with the USB stuff comment on that? Thanks.
> 
> For identifying what this is, there's not a lot of info available. It shows
> up in Windows as a "Monster Gamepad" with 4 analog axis and 16 buttons, and
> just has a single 20 pin DIPP chip inside with these markings (looks like a
> PLA to me):
> CY7C63000A-PC
> 9946 G 02 518003
> 
> ---
> Jon Simola <jon@abccom.bc.ca> | "In the near future - corporate networks
>     Systems Administrator     |  reach out to the stars, electrons and light 
>      ABC  Communications      |  flow throughout the universe." -- GITS
> 
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-hackers" in the body of the message
> 

--
Qube Software, Ltd.                                             Private:
n_hibma@qubesoft.com                              n_hibma@webweaving.org
                                                     n_hibma@freebsd.org
http://www.qubesoft.com/                   http://www.etla.net/~n_hibma/



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.20.0012301255040.4807-100000>