freebsd-skq/sys
Bill Paul c3ed41584c Updates for the ThunderLAN driver:
- probe for PHYs by checking the BMSR (phy status) register instead
  of the vendor ID register.

- fix the autonegotiation routine so that it figures out the autonegotiated
  modes correctly.

- add tweaks to support the Olicom OC-2326 now that I've actually had
  a chance to test one

	o Olicom appears to encode the ethernet address in the EEPROM
	  in 16-bit chunks in network byte order. If we detect an
	  Olicom card (based on the PCI vendor ID), byte-swap the station
	  address accordingly.

	  XXX The Linux driver does not do this. I find this odd since
	  the README from the Linux driver indicates that patches to
	  support the Olicom cards came from somebody at Olicom; you'd
	  think if anyone would get that right, it'd be them. Regardless,
	  I accepted the word of the disgnoatic program that came bundled
	  with the card as gospel and fixed the attach routine to make
	  the station address match what it says.

	o The version of the 2326 card that I got for testing is a
	  strange beast: the card does not look like the picture on
	  the box in which it was packed. For one thing, the picture
	  shows what looks like an external NS 83840A PHY, but the
	  actual card doesn't have one. The card has a TNETE100APCM
	  chip, which appears to have not only the usual internal
	  tlan 10Mbps PHY at MII address 32, but also a 10/100 PHY
	  at MII address 0. Curiously, this PHY's vendor and device ID
	  registers always return 0x0000. I suspect that this is
	  a mutant version of the ThunderLAN chip with 100Mbps support.
	  This combination behaves a little strangely and required the
	  following changes:

		- The internal PHY has to be enabled in tl_softreset().
		- The internal PHY doesn't seem to come to life after
		  detecting the 100Mbps PHY unless it's reset twice.
		- If you want to use 100Mbps modes, you have to isolate
		  the internal PHY.
		- If you want to use 10Mbps modes, you have to un-isolate
		  the internal PHY.

	The latter two changes are handled at the end of tl_init(): if
	the PHY vendor ID is 0x0000 (which should not be possible if we
	have a real external PHY), then tl_init() forces the internal
	PHY's BMCR register to the proper values.
1998-08-03 01:33:12 +00:00
..
alpha Cosmetic change to driver registration. 1998-07-31 09:20:35 +00:00
amd64 Set p->p_switchtime to switchtime instead of to the current time in 1998-07-28 17:55:37 +00:00
compat Fixed print format errors. 1998-07-29 16:43:00 +00:00
compile
conf Change load address to 0xfffffc0000300000 to help support AS200. 1998-07-30 08:12:14 +00:00
contrib/softupdates Note which version of Kirk's sources this corresponds to. 1998-06-12 21:21:26 +00:00
ddb Added macros __printflike() and __scanflike() to <sys/cdefs.h>. 1998-07-13 06:45:23 +00:00
dev Added 82555B support for media status. 1998-08-02 00:33:38 +00:00
fs Fixed printf format errors. 1998-07-30 17:40:45 +00:00
geom There is no such thing any more as "struct bdevsw". 1998-07-04 22:30:26 +00:00
gnu Fixed printf format errors. 1998-07-30 17:12:39 +00:00
i386 Add the ISP Qlogic SCSI card to the list of known devices. 1998-08-02 09:32:52 +00:00
isa Fixed error handling: 1998-07-29 13:00:42 +00:00
isofs/cd9660 There is no such thing any more as "struct bdevsw". 1998-07-04 22:30:26 +00:00
kern Added a flags arg to dsopen() and updated drivers. The DSO_ONESLICE 1998-07-30 15:16:06 +00:00
libkern Changed to the C9x draft spelling of the (unsigned) integral type 1998-07-14 05:09:48 +00:00
miscfs Fixed printf format errors. 1998-07-30 17:40:45 +00:00
modules A better solution to the rm_at_exit problem: Register the exit function 1998-07-27 01:07:01 +00:00
msdosfs Fixed printf format errors. 1998-07-11 07:46:16 +00:00
net update ATM driver. (base version: midway.c 1.67 --> 1.68) 1998-07-29 05:35:16 +00:00
netatalk Typo fix: teh --> (the|they) 1998-07-30 02:27:41 +00:00
netinet Fix a compile error if IPFIREWALL_FORWARD active without IPDIVERT. 1998-08-01 08:44:33 +00:00
netipx When system act as IPX router (sysctl -w net.ipx.ipx.ipxforwarding=1, 1998-06-10 12:52:11 +00:00
netkey Really make this compile.. 1998-04-06 05:11:42 +00:00
netnatm This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
netns Make INET a proper option. 1998-01-08 23:42:31 +00:00
nfs If we get an ENOBUFS from the network, it's normally transient network 1998-08-01 09:04:02 +00:00
nfsclient If we get an ENOBUFS from the network, it's normally transient network 1998-08-01 09:04:02 +00:00
nfsserver If we get an ENOBUFS from the network, it's normally transient network 1998-08-01 09:04:02 +00:00
pc98 Sync with sys/i386/boot/netboot/main.c revision 1.23. 1998-08-01 12:20:59 +00:00
pccard Changed the type of an isa/general interrupt handler to take a 1998-06-18 15:32:09 +00:00
pci Updates for the ThunderLAN driver: 1998-08-03 01:33:12 +00:00
posix4 Set PAGE_SIZE for _SC_PAGESIZE sysconf(). 1998-06-01 21:54:43 +00:00
powerpc Add declaration of {aquire,release}_timer2(). 1998-07-22 08:26:23 +00:00
rpc Resolve conflicts. 1997-05-28 04:45:15 +00:00
scsi In sys/scsi/st.c, st_close() does not check for errors from calling 1998-07-31 09:00:39 +00:00
sys Make it possible to have a driver registered with more than one parent bus. 1998-07-31 09:18:52 +00:00
tools VOP_STRATEGY grows an (struct vnode *) argument 1998-07-04 20:45:42 +00:00
ufs Used daddr_t's, not ints, to store disk block numbers. Updated printf 1998-07-28 18:25:51 +00:00
vm Fixed two spl nesting bugs. They caused (at least) the entire pageout 1998-07-28 15:30:01 +00:00
Makefile Test for the existance of ${MACHINE}/boot before trying to build it. 1998-02-20 07:37:08 +00:00