Skip site navigation (1)Skip section navigation (2)
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>