summaryrefslogtreecommitdiffstats
path: root/sys/dev/ed
Commit message (Collapse)AuthorAgeFilesLines
* MFp4:imp2006-06-123-3/+26
| | | | | | | | | | | | o Implement a bunch of sysctl's to report the information that's now always reported. Mvoe reporting of that info to bootverbose, but maybe it can go away entirely. dev.ed.X.type: string name dev.ed.X.TxMem: amount of memory used for tx side of the card dev.ed.X.RxMem: amount of memory used for rx side of the card dev.ed.X.Mem: Total amount of mem on card. o Better comments about where NE-2000 (and clones) gets their MAC address from.
* Since DELAY() was moved, most <machine/clock.h> #includes have beenphk2006-05-161-1/+0
| | | | unnecessary.
* Add (back) the D-Link DE-650. Not sure why it was deleted.imp2006-05-081-0/+1
|
* Initialize the port_bst and port_bsh variables.nyan2006-02-211-0/+2
| | | | | | | | The ed driver on pc98 was broken by if_edvar.h rev1.31. Reported by: Kaho Toshikazu (kaho at elam kais kyoto-u ac jp) Tested by: Eiji Kato (ekato at a1 mbn or jp) MFC after: 3 days
* Have a function pointer to the routine to call for writing an mbufimp2006-01-279-100/+109
| | | | | | | | | | into the card's memory. # this eliminates a more of the ifdef soup in if_ed and if_edvar # I've fixed the cbus drivers, but can't test them all easily. If I've broken anything, please let me know.
* Create mediachg functions for the 3c503 and hpp cards. This is usedimp2006-01-274-33/+28
| | | | | | | | | | | | to properly configure the right interface to use. Also call the mediachg function when we set flags UP and are already running. If this were a pure ifmedia driver, we'd not need to do this since we'd be ignoring the linkX flags. This reduces the number of ifdefs to support sub-devices a little as a nice side effect. It also reduces the number of hpp interfaces exposed by 33%.
* Style(9) issue: return (foo);imp2006-01-271-7/+7
|
* Transition from ALTPHYS to LINK2. We already document in the ed(4)imp2006-01-272-10/+14
| | | | | | | | | | | | | | | | | man page that the ifconfig option link2 is used to disable the AUI transceiver on the 3com boards (should also say HP PC Lan+). This makes the connection clearer. Add a note about why we set this flag prior to attaching the device. We never set or clear the flag later, only test it. There can be no races here, but this might be asthetically displeasing to some. Also note that we may no longer need to have this knob at all as we may be able to do it with the more sophisticated rc.d scripts we have today I think the only reason it is there is because we didn't used to allow its proper setting when configured to get the IP address via DHCP. I'll note that this would be better handled by using ifmedia for all ed cards, not just those with a miibus...
* minor nit in comment about what kind of flags these areimp2006-01-271-1/+1
|
* Add support for the Compaq LTE docking station. It includes a plugimp2006-01-151-5/+6
| | | | | | | and play device with the ID of PNP8160. Sotr them while I'm here. Submitted by: Sean Shapira sds at jazzie dotty com MFC After: 1 week
* - Store pointer to the link-level address right in "struct ifnet"ru2005-11-111-1/+1
| | | | | | | | | | rather than in ifindex_table[]; all (except one) accesses are through ifp anyway. IF_LLADDR() works faster, and all (except one) ifaddr_byindex() users were converted to use ifp->if_addr. - Stop storing a (pointer to) Ethernet address in "struct arpcom", and drop the IFP2ENADDR() macro; all users have been converted to use IF_LLADDR() instead.
* Add Billionton LNA-100B variation that Alan reported in arch. [1]imp2005-10-291-1/+3
| | | | | | Also add Global Village lan modem, even though I'm unsure if it works. Reported by: Alan newsletter at acsoftware dot org
* Add missing softcimp2005-10-221-0/+1
|
* Turns out that we're asking for the MAC address at a bad time in theimp2005-10-221-4/+3
| | | | | | | | attach routine. Go ahead and ask for it in the probe routine and be just as wrong as all the other cards that ask for it there... # this gets the RTL8019 on a SBC at work fully functional. 6.0 still treats # the 8019 as a generic NE-2000, so these changes aren't relevant there.
* In the ISA case, we call ed_probe_WD80x3 before we callimp2005-10-221-3/+3
| | | | | | | | | | ed_probe_rtl80x9. In the pci case we call ed_probe_rtl80x9 first. In the PCI case we were using the correct nic_offset by accident because softc is initialized to zero. In the isa case we were using the wrong value by accident, since ed_probe_WD80x3 sets the offset value to 0x10. This lead to the identification routines failing. Fix this problem by always initalizing the nic_offset and asic_offset before making ed_{asic,nic}_{in,out}* calls.
* Check against 8019 rather than 8029 for reading in the MAC addr sinceimp2005-10-171-1/+1
| | | | | | | the former is the ISA part, not the latter. MFC After 6.0 is unfrozen (this bug doesn't exist in 6.0 because I didn't MFC the rtl80x9 changes for ISA due to an error on my part)
* If we can't probe the RTL80x9 for some reason, fall back to probing itimp2005-10-131-3/+10
| | | | | | | | | as a Novell NE-2000. This is necessary for unpatched qemu working correctly. qemu claims to be a RTL8029, but doesn't implement the RTL8029 specific registers at this time. I've created patches for that, but there's no reason we can't use qemu's emulation w/o these patches. This should make life easier for those folks that boot FreeBSD via qemu.
* o Fix probing of rtl80x9 parts. We shouldn't be callingimp2005-10-131-5/+6
| | | | | | | | | | | | ed_probe_generic8390 where we're calling it. It will be done as part of ed_probe_Novel_generic after things are setup in a way that ed_probe_generic8390 will grok. o Fix operator precedence botch that causes a panic when setting the media type for 10baseT connections. o Save the type of device so that it prints with the rest of the probe. # this should make it work with qemu again, but only if it has my patches # to actually implement the RTL8029 specific registers.
* Buffalo LPC4/CLX IDimp2005-10-111-0/+1
|
* New OEM generic card. "10/100 Fast Ethernet PC Card". It has aimp2005-10-111-0/+1
| | | | | | generic sounding CIS "PCMCIA", "FAST ETHERENT CARD" and a bogus MANFID code (0xffff and 0x1090). However, since I'm not aware of 'generic' cards that aren't NE-2000oids, go with that and hope for the best.
* Remove debug that crept in..imp2005-10-051-4/+0
|
* MFp4:imp2005-10-0510-67/+591
| | | | | | | | | | o Add support for Tamarack TC5299J + MII found on SMC 8041TX V.2 and corega PCCCCTXD o Add support for ISA/PCI RTL80[12]9 chips o Improve support for the ax88790 based o minor code movement Submitted by: (#2) David Madole
* Emit a warning when a card matches multiple entries in our table. Aimp2005-09-261-2/+35
| | | | | | | | | | | | | number of cards have been discovered to be matching on the strings of the cis rather than manufacturer/product id for cards we already had a prod id for. This is a result of getting the list from the NetBSD driver which also includes the OID for the cards where such a distinction mattered (since it was tested against the MAC address we got from the card). Since we do not try to match OIDs, we do not need the extra entries and they just waste space. I'm guessing that some of the dlink entires (DE-660, DE-660+) and many of the corega cards may fall into this boat and can safely be removed.
* Go ahead and detach our children in our detach routine. I'm undecidedimp2005-09-261-0/+1
| | | | | if we should delete them also or not, but have decided not to do so for the moment.
* I have confirmed with my Epson EEN10B that it needs to look at theimp2005-09-241-2/+1
| | | | | | | attribute memory at 0xff0 to find its MAC address. This is another instance of the IBM ethercard II from all apperances (short of popping the lid). Update the entry to document which cards we support actually need this functionality.
* The DLink DE650 has the same ID as Linksys EthernetCard, so we don'timp2005-09-241-1/+0
| | | | need a sperate entry for it.
* Remove obsolete includeimp2005-09-231-2/+0
|
* Remove duplicate if_free().imp2005-09-191-1/+0
| | | | Submitted by: ru@
* Make sure that we call if_free(ifp) after bus_teardown_intr. Since weimp2005-09-191-1/+1
| | | | | | | could get an interrupt after we free the ifp, and the interrupt handler depended on the ifp being still alive, this could, in theory, cause a crash. Eliminate this possibility by moving the if_free to after the bus_teardown_intr() call.
* MFp4:imp2005-09-183-125/+149
| | | | | | | | | | | | | | | | | | o eliminate the ED_NO_MIIBUS option. Now, you need miibus to use ed with pccard. If you have an old ISA or PCI card w/o a miibus, then you'll still be able to use the ed driver w/o miibus in the kernel. If you have pccard you'll need mii now. Most pccards these days have miibus, and many cards have ISSUES if you don't attach miibus. issues I don't want to constantly rediagnose. - Add new media_ioctl, mediachg and tick function pointers. The core driver will call these if they aren't NULL, or return an error if they are. - migrate remaining mii code into if_ed_pccard. o include some notes from my datasheet fishing. this may allow us to get media status from some pccards. o Fix one bug that's common to many drivers. call if_free(ifp) after we tear down the interrupt. ed_intr() depends on ifp being there and freeing it while interrupts can still happen is, ummm, bad.
* Fix "struct ifnet" leaks when attach() fails in the middle.ru2005-09-161-1/+2
|
* When stopping the card, and returning to page 0, it is best if you doimp2005-09-151-1/+1
| | | | | | that with the NIC set of registers rather than the ASIC registers. I believe this was a harmless oversight, since we set ED_P0_CR to the same value 5ms later, but just to be safe...
* Make device_detach methods really work.ru2005-09-142-2/+2
|
* MFp4: Omnibus ed changesimp2005-09-134-198/+285
| | | | | | | | | | | | | | | | | | | o Attach AX88x90's MII bus to system, and require its presence. o Reorg the mii code a little, and move more of it into pccard attachment. o Eliminate ed_pccard_{read,write}_attrmem in favor of a more appropriate function in the pccard layer. o Update comments to reflect knowledge gained. o Update how re recognize a NE-2000 ROM. I found a couple of different datasheets that define the structure of the PROM data, so the code's old heuristics have been removed, and comments updated to reflect the structure. o Eliminate work around for EC2T. It is no longer needed, and was wrong headed since the EC2T has a Winbound 82C926C in it, not a AX88x90. o Add copyright to if_ed_pccard.c, since I believe I've re-written more than 3/4 of it. # With these changes, all of my 20-odd ed based cards work, except for the # NetGear FA-410, and I'm pretty sure that's a MII/PHY problem.
* MFp4: Minor formatting nits in pccard table.imp2005-09-131-9/+9
|
* Use smaller names. The "NE2000 PCI Ethernet" is largerly redundantimp2005-09-131-9/+9
| | | | | with edX at pciY. This removes 8*22 bytes from the strings. Not a huge win, but a cheap one.
* MFp4:imp2005-09-101-3/+4
| | | | | | | | | | | | | Reduce the size of ed a little by removing some CIS based entries (others likely can be removed too): o The D-Link DFE-670TXD doesn't need its own entry based on strings. o The Xircom CompactCard appears to be a TDK design, so list it there by ID and remove the strings. Increase the size of ed a little: o Add support for the Addtron AE-660CT and Addtron AE-660. This is a very generic NE-2000 clone (so generic that its CIS tags say NE-2000 generic card!).
* The ed driver lock is already held in the mii frobbing routines. Removeimp2005-09-081-11/+0
| | | | locking from these routines.
* Add note about what ED_DEFAULT_MAC_OFFSET applies toimp2005-09-081-0/+4
|
* Consistancy is the hobgoblin of small minds:imp2005-09-072-39/+39
| | | | o DLINK -> DL100XX
* Minor reorg of pccard attach code to fix ax88x90 case broken after fixingimp2005-09-071-160/+158
| | | | | | | | | | | | | | | | | | | | dl100xx case. o We no longer acquire and release resources during attach many times. We now do it once at the beginning. o Move setting the resource offsets to just after acquiring the ports in attach. o Move ax88x90 code to the end of the file, just after the dl100xx specific code. o Rename ed_pccard_Linksys to ed_pccard_dl100xx to reflect the underlying chipset. o Pass the ed_product structure into ed_pccard_{dl100xx,ax88x90} and have those routines test the flags to see if this card should be probed in that way. o transition from ed_probe_Novell to ed_probe_Novell_generic since we already have the resources setup. o Move use of ed_probe_Novell_generic into ed_pccard_dl100xx to be more consistant with ax88x90 case. o simplify the code where we probe for the chipsets
* o Expose ed_probe_Novel_generic, it is useful for pccard case.imp2005-09-072-5/+3
| | | | | o Fix a now stale comment. There are likely many others like them, but this one definitely hasn't been true since DELAY was introduced into the tree.
* Fix DL100xx based cards. Don't drop resources. It was approrpiate inimp2005-09-071-2/+1
| | | | | | | the probe code that this used to be part of, but as part of the attach, we shouldn't be dropping the resources here. Also, allocate the proper rid in the ax88x90 setup.
* move away from K&R function definitionsimp2005-09-061-10/+3
|
* Work around a bug I've seen on Linksys EC2T cards. For some reason,imp2005-09-061-2/+25
| | | | | | | | | | | | | | | as yet unknown, those cards report their MAC address a byte at a time. However, other AX88x90 cards report the MAC address a word at a time. Add a heuristic which looks at the high order bytes of the first 6 words. If they are all '0', assume the card is behaving like the Linksys EC2T card. Since the default prefix for these cards appears to be 00:e0:98, this appears to be a safe heuristic. While some cards have been observed with different prefixes, they all work with this heuristic. I'm unsure if this is a bug in the EC2T card, or if it is a bug in the initialization of the card. No other OS has this heuristic (although w/o it, the MAC address that is used works).
* Go ahead and | in ED_CR_PAGE_0, even though this doesn't change thingsimp2005-09-061-5/+8
| | | | | | | at all. It makes the code clearer. fix a comment comments about why we need to write i/o address to certain registers.
* It turns out that many of the ambicom cards have their CIS resourcesimp2005-09-062-8/+27
| | | | | | | | listed in different orders. Since it is easy to identify the Modem resources vs the Ethernet resources by looking at the size, use that rather than hard coded rids. For such parts, go ahead and guess which rid we should use based on the size. This guess appears reliable for the two example cards that I have with different CIS info.
* MFp4: kill bogus commentimp2005-09-021-5/+0
|
* At some point in the past, we read the PROM by words. Now we readimp2005-09-011-6/+2
| | | | | | | | | | PROM by bytes. Adjust the extraction of the MAC address from this data to reflect this change. This gets the AX88x90 based PC Cards MAC address working again (my UMAX Ethernet and Linksys EC2T cards now work). MFC After: 3 days
* Add back dropped if_media.h includeimp2005-08-301-0/+1
|
OpenPOWER on IntegriCloud