Bug 17833

Summary: dc driver for embedded ethernet on Miata MX5 problems
Product: Base System Reporter: wkb <wkb>
Component: alphaAssignee: freebsd-alpha (Nobody) <alpha>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   

Description wkb 2000-04-06 23:40:00 UTC
I'm experiencing some problems using the embedded ethernet on the Miata MX5
I have here. This is 4.0R, freshly installed. The symptoms are that the dc
driver reports watchdog timeouts and no network connections can be made.
Using the de driver instead of dc works fine.                         
     
The MX5 has a 10baseT/10base2 bulkhead mounted. It is also possible to have
a 100baseT bulkhead (I have one on my MiataGL) that is connected to another
connector on the PCI riser card.
     
Initially I assumed that maybe the 21143 can't 'see' that it has a
10Mbit-only bulkhead mounted. So I set the SRM ewa0_mode to 10baseT. This 
does not make a difference. I also tried setting 10Mbit mode in rc.conf:
ifconfig_dc0="inet 192.168.200.24  netmask 255.255.255.0 media 10baseT/UTP"
This also did not make a difference. 

Interesting side note: de claims it is a 21142, dc claims it is a 21143
chip. I am not sure if this is relevant.

dc driver boot messages:
     
Apr  6 21:00:40 mx5 /kernel: dc0: <Intel 21143 10/100BaseTX> port
  
0x8000-0x807f mem 0                               
x80850000-0x8085007f irq 0 at device 3.0 on pci0                       
Apr  6 21:00:40 mx5 /kernel: dc0: interrupting at CIA irq 0
Apr  6 21:00:40 mx5 /kernel: dc0: Ethernet address: 00:00:f8:75:3c:6a
 
Apr  6 21:00:40 mx5 /kernel: miibus0: <MII bus> on dc0               
Apr  6 21:00:40 mx5 /kernel: dcphy0: <Intel 21143 NWAY media interface> on
miibus0                                                                
Apr  6 21:00:40 mx5 /kernel: dcphy0:  10baseT, 10baseT-FDX, 100baseTX,   
100baseTX-FDX, auto                                             
Apr  6 21:00:40 mx5 /kernel: dc0: supplying EUI64: 00:00:f8:ff:fe:75:3c:6a

...                                               

Apr  6 21:00:40 mx5 /kernel: dc0: starting DAD for                      
fe80:0001::0200:f8ff:fe75:3c6a                             
Apr  6 21:00:41 mx5 /kernel: dc0: DAD complete for    
fe80:0001::0200:f8ff:fe75:3c6a - no duplicates found     
Apr  6 21:00:45 mx5 /kernel: dc0: watchdog timeout
     
     
de driver boot message:                                                  

de0: <Digital 21142 Fast Ethernet> port 0x8000-0x807f mem
0x80850000-0x8085007f irq 0 at device 3.0 on pci0
de0: interrupting at CIA irq 0
de0: DEC 21142 [10-100Mb/s] pass 1.1
de0: address 00:00:f8:75:3c:6a
de0: enabling 10baseT port
de0: supplying EUI64: 00:00:f8:ff:fe:75:3c:6a
de0: driver is using old-style compatability shims

Fix: 

Current workaround is to use the de driver instead of dc. Please
note that since GENERIC uses the dc driver one cannot install over the
network using bootfloppys.
Comment 1 wilko freebsd_committer freebsd_triage 2000-10-08 21:18:01 UTC
State Changed
From-To: open->closed

Should be fixed per: 

> wpaul       2000/10/05 10:36:15 PDT 
> 
>   Modified files: 
>     sys/pci              if_dc.c if_dcreg.h 
>     sys/dev/mii          dcphy.c 
>   Log: 
>   Add support for parsing the media blocks from the SROM on 21143 
>   adapters. This is necessary in order to make this driver work with 
>   the built-in ethernet on the alpha Miata machines. These systems 
>   have a 21143-PC chip on-board and optional daughtercards with either 
>   a 10/100 MII transceiver or a 10baseT/10base2 transceiver. In both 
>   cases, you need to twiddle the GPIO bits on the controller in order 
>   to turn the transceivers on, and you have to read the media info 
>   from the SROM in order to find out what bits to twiddle. 

I no longer have the 10base2 module to test this but assume it is fixed. 

Wilko