D-Link DFE-670 and Linux
Redhat 7.2 kernel 2.4.9-31 dell inspiron 7000 laptop
Other keywords: pcmcia, cardbus, DFE-670 TXD, DFE-670-TXD
This card is supported, but there is no mention of this on D-Link's website.
If it isn't Windows or Novell, they don't care. Shame on you D-Link.
Get with the program. At least have a "not officially supported but
it works on redhat by doing this" informational page. Vote with your
dollars - if it doesn't say linux on the box, don't get it, if possible.
(I assumed a company the size of D-Link would have at least basic support/info
for linux).
Okay, enuf soapboxing.
How I got it going (having never dealt with pcmcia stuff before it was a
bit of the learning something new in linux adventure game one goes thru)
"apropos pcmcia"
yields quite a few items. Of significance are cardmgr and cardctl.
And, unlike far too many programs, the man pages for both of these are excellent.
Read up a bit, esp. the "FILES" and "SEE ALSO" sections.
Okay, so stick the card in. I suggest only having this one card in
to keep things simple.
"/sbin/cardctl status"
yields very basic "5V 16 bit PC Card" and "Ready" for the socket its in.
"/sbin/cardctl ident [socketnum, either 0 or 1]"
yields:
product info: "D-Link" "DFE-670TXD" "PC Card"
manfid: 0x0149, 0x4530
function: 6 (network)
if it doesn't something is wrong, or at least different than what I get.
Okay, so how does this pcmcia stuff work?
Reading the manpage for cardmgr, it looks like cardmgr gets notified of
a card insertion somehow, it reads the product info and whatnot from the
card, tries to match it up in a database of cards -> drivers (/etc/pcmcia/config),
and loads the appropriate driver and does the beep. If the card doesn't
have an entry in /etc/pcmcia/config, there is no driver to load and it does
a lower pitched beep.
Looking at /etc/pcmcia/config I see that similar-sounding cards from D-Link
are supported: DFE-650, DFE-660, and others. Doing a google (god bless
google!) search on DFE-670 produced the info that it is supported, but the
two pages found don't say how to set it up. The page at pcmcia-cs.sourceforge.net
listing compatible cards has it under "pcnet_cs driver", so the existing entry
for the DFE-650 in /etc/pcmcia/config is probably the one to copy and tweak.
At the end of /etc/pcmcia/config it has a "source" command to include any
file in /etc/pcmcia ending in .conf. How handy and thoughtful.
So (as root of course) make a new file /etc/pcmcia/dfe-670.conf, and in it
copy the entry for DFE-650 from /etc/pcmcia/config, and tweak it to read as
such:
card "D-Link DFE-670TXD PC Card"
manfid 0x0149, 0x4530
bind "pcnet_cs"
Yes, you want to have the quotes! Save the file, now eject the card,
push it back in, and ...
boop. No worky. Heh. Turns out that cardmgr is a fancy
little program, and it doesn't parse /etc/pcmcia/config each time a card is
inserted - that info (and some hardware settings) are cached after the first
read. So, you have to send the cardmgr daemon a SIGHUP to reload all
its configuration stuff. Do that, eject the card, push it back in,
and you should get the beep of success!
Linux home