Date: Mon, 20 Mar 2000 19:38:56 -0100 From: Bart van Leeuwen <bart@ixori.demon.nl> To: freebsd-questions@freebsd.org Subject: ed driver and SMC 8216C/BT Message-ID: <38D68C60.D3DE8231@ixori.demon.nl>
next in thread | raw e-mail | index | archive | help
Hi all, I am running FreeBSD 4.0-STABLE (20000318). I encountered a problem with a SMC 8416 ethernet adapter. The adapter is configured as follows: port 0x240, irq 0x5, mem 0xD8000, PnP support enabled. (port 0x280 is in use and I can not change that) With a GENERIC kernel I get the following: ed1: <SMC EtherEZ (8416)> at port 0x240-0x25f iomem 0xc0000-0xc001f irq 5 on isa0 ed1: address 00:00:c0:1d:ee:a9, type SMC8416C/SMC8416BT (16 bit) As soon as I attempt to use it, it compains about its memory being corrupted, which isn't much of a surprise to me... 0xC0000 is in use for adapter rom. Anyway, 2 questions: 1. (obvious..) why does it use 0xC0000 for iomem and not the 0xd8000 as configured on the card? This may be retaled to what pnpinfo sees (see below) 2. How can I overide pnp settings with 4.0? I have been using pnp on 3.x for a while, and there I could use the pnp command during userconfig (provided I have configured it in my kernel), adding the options for that to my kernel in 4.0 however makes that config complains about an unknown device pnp (tried controller pnp, which is what man pnp suggests, that complains that controller should be changed to device, doing so results in complaining about it being unknown). For machines that do not have bios support to enable and configure such cards this was great, but now I seem to be forced to do one of 3 things: 1. get a newer machine, 2. get only non pnp cards, or 3. run 3.x. None of those sound like a good solution to me ;-) -- Output from pnpinfo -- bash-2.03# pnpinfo Checking for Plug-n-Play devices... Card assigned CSN #1 Vendor ID SMC8416 (0x1684a34d), Serial Number 0xa9ee1dc1 PnP Version 1.0, Vendor Version 16 Device Description: SMC EtherEZ (8416) Logical Device ID: SMC8416 0x1684a34d #0 Device supports I/O Range Check IRQ: 3 5 7 9 10 11 IRQ: High true edge sensitive I/O Range 0x240 .. 0x3e0, alignment 0x20, len 0x20 [not 16-bit addr] Memory Range: Writeable Memory Range: Non-cacheable Memory Range: Decode supports range length Memory Range: 8-bit and 16-bit memory supported Memory Range: Memory is not shadowable Memory Range: Memory is not an expansion ROM Memory range minimum address: 0xc0000 Memory range maximum address: 0xfe000 Memory range base alignment: 0x2000 Memory range length: 0x2000 End Tag Successfully got 6 resources, 1 logical fdevs -- card select # 0x0001 CSN SMC8416 (0x1684a34d), Serial Number 0xa9ee1dc1 Logical device #0 IO: 0x0240 0x0240 0x0240 0x0240 0x0240 0x0240 0x0240 0x0240 IRQ 5 0 DMA 0 0 IO range check 0x00 activate 0x01 -- end pnpinfo -- This makes me wonder.. is it just trying to get the first free port, irq and mem addr? That way it would make sense what it is doing here... but it is not what it should do. (irq3 is used by sio1, so irq5 is the first free irq, 0x240 is free, 0xc0000 is free, or so it seems to think...) last but not least, man pnp looks wrong to me. controller pnp should imho read device pnp, and it seems to be broken or maybe its just obsolete (in which case an alternative would be apreciated).. -- Regards, Bart. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?38D68C60.D3DE8231>