From owner-freebsd-hackers Tue Jan 2 2: 0: 9 2001 From owner-freebsd-hackers@FreeBSD.ORG Tue Jan 2 02:00:06 2001 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from henny.webweaving.org (unknown [212.113.16.243]) by hub.freebsd.org (Postfix) with ESMTP id A8A8137B400 for ; Tue, 2 Jan 2001 02:00:05 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by henny.webweaving.org (8.9.3/8.9.3) with ESMTP id NAA06781; Sat, 30 Dec 2000 13:06:25 GMT (envelope-from n_hibma@calcaphon.com) Date: Sat, 30 Dec 2000 13:06:25 +0000 (GMT) From: Nick Hibma X-Sender: n_hibma@henny.webweaving.org Reply-To: Nick Hibma To: Jon Simola Cc: hackers@freebsd.org Subject: Re: Broken-by-design USB device? In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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: port 0xd400-0xd41f irq 3 at > device 4.2 on pci0 > usb0: 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 | "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