From owner-freebsd-drivers@FreeBSD.ORG Sat Jan 14 22:58:15 2006 Return-Path: X-Original-To: freebsd-drivers@freebsd.org Delivered-To: freebsd-drivers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E820016A41F for ; Sat, 14 Jan 2006 22:58:15 +0000 (GMT) (envelope-from sds@jazzie.com) Received: from vms042pub.verizon.net (vms042pub.verizon.net [206.46.252.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id 955BE43D45 for ; Sat, 14 Jan 2006 22:58:15 +0000 (GMT) (envelope-from sds@jazzie.com) Received: from roses.bvh.jazzie.com ([71.102.103.175]) by vms042.mailsrvcs.net (Sun Java System Messaging Server 6.2-4.02 (built Sep 9 2005)) with ESMTPA id <0IT300A9DUH2WAHK@vms042.mailsrvcs.net> for freebsd-drivers@freebsd.org; Sat, 14 Jan 2006 16:58:14 -0600 (CST) Received: from [192.168.1.241] ([192.168.1.241]) by roses.bvh.jazzie.com (8.12.10/8.12.8) with ESMTP id k0EMwDbB006971 for ; Sat, 14 Jan 2006 14:58:13 -0800 (PST envelope-from sds@jazzie.com) Date: Sat, 14 Jan 2006 14:58:13 -0800 From: Sean Shapira To: freebsd-drivers@freebsd.org Message-id: <43C98205.70002@jazzie.com> MIME-version: 1.0 Content-type: text/plain; charset=ISO-8859-1; format=flowed Content-transfer-encoding: 7bit X-Accept-Language: en-us, en User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317) Subject: if_ed_isa.c change to support pnp on compaq lte dock X-BeenThere: freebsd-drivers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Writing device drivers for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Jan 2006 22:58:16 -0000 This is regarding 5.4-RELEASE-p9 running on a Compaq LTE (Pentium-based) laptop connected to a docking station. A patch for if_ed_isa.c is included below. The Compaq LTE docking station includes an ne2000-compatible ethernet interface, and using device.hints that match the port and irq configured in the bios works just fine when booting from a powered-off state. But when doing a warm boot with the same device.hints, the system hangs when it attempts to probe the ed.0 device. The hints used are: hint.ed.0.at="isa" hint.ed.0.port="0x340" hint.ed.0.irq="11" hint.ed.0.maddr="0xd8000" hint.ed.0.disabled="0" The system has a plug-n-play bios that knows about this device: PNP8160: adding irq mask 0x800 PNP8160: adding io range 0x340-0x35f, size=0x20, align=0x20 pnpbios: handle 21 device ID PNP8160 (6081d041) But the ed driver in 5.4-RELEASE doesn't attach to it automatically. I made the obvious change, adding the device id to the table: *** if_ed_isa.c 2006/01/13 19:23:23 1.1 --- if_ed_isa.c 2006/01/13 19:25:18 *************** *** 59,64 **** --- 59,65 ---- { 0x0090252a, NULL }, /* JQE9000 */ { 0x0020832e, NULL }, /* KTC2000 */ { 0x4cf48906, NULL }, /* ATIf44c */ + { 0x6081d041, NULL }, /* PNP8160 */ { 0, NULL } }; After removing the device.hints, the system now reports: ed0: at port 0x340-0x35f irq 11 on isa0 both on cold boots and warm restarts, and does not hang. Hurray! Was there a better way to accomplish this? If no, can the change to add this device id get incorporated into future FreeBSD releases? -- Sean Shapira sds@jazzie.com