Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Jan 2001 18:31:48 -0500
From:      The Babbler <bts@babbleon.org>
To:        Sean O'Connell <sean@stat.duke.edu>, freebsd-mobile@freebsd.org, gregsmith59@hotmail.com
Subject:   Re: PCMCIA Qs: The saga continues (EC2T won't work)
Message-ID:  <3A60E564.1190A2FF@babbleon.org>
References:  <3A5D3979.C0B0D2EF@babbleon.org> <3A5DD9B1.C6842356@babbleon.org> <3A5FED36.661464FB@babbleon.org> <20010113150413.K90173@stat.Duke.EDU>

next in thread | previous in thread | raw e-mail | index | archive | help

Oh boy, is this ever getting confusing . . .

1. I should have clarified here, but my pccard.conf file, of course,
doesn't really have an entry for ed0/ed1; I'm getting that from the
default still.  I hadn't tried mucking with that.  In fact, I didn't
think to mess with pccard.conf until I got the explicit "resource
conflict" message from the two 3com cards. But for the two 3com cards I
tried setting them to 1/2 2/1 & numerous other combinations, without any
success.

2. If the "device timeout" suggests a conflict, then I should probably
try the same strategy I tried there: see what IRQs Linux assigns and
then try the same ones under FreeBSD.  I must admit I'm not very clueful
about how to avoid IRQ conflicts; I'm used to more "user-friendly"
operating systems, like Windows and Linux, which just sort of
"auto-magically" solve these things for me.  I've heard of people having
to know where interrupts where and such back in the DOS days, but it's
an art of which I am totally naive.

I don't even know how to tell what IRQs are in use by what devices,
except under Windows.  (My wife's shown me since it's come up with
something there.)  Under Linux I've never, ever had to worry about
it--it's always just worked with no fiddling on my part.

3. I rebuilt a kernel without the spurious ed0 . . . junk (simplified
just to "device ed").  The only effect this has is to change the message
to

ed0: device timeout

instead of "ed1", which isn't much of an improvement.  (Though perhaps
0's look a little more aesthetically pleasing than 1's . . .)  The
firewall machine (Hyperdata, in case you were wondering) doesn't have a
builtin modem or anything funky like that, but might have an odd address
for the sound card or something, I suppose.

4. I tried using the the Linksys card in my workstation laptop (Dell);
it works fine there.  I'm not sure whether this suggests a fundamental
hardware problem with the other laptop or an IRQ conflict, but since it
works fine under Linux, I suppose it argues for the latter.

5. I will try pccard dumpcis when I reboot to FreeBSD next time and see
if it provides any helpful clues.

6. I believe that I *was* tying the dhcp to the internal NIC; I was
saying 

dhcp ed1

(or whatever I was trying for the internal NIC at that moment).  That's
correct, isn't it?

7.  While I'm at it, what's the "conventional" place to locate a "run at
the end of the startup sequence" file under FreeBSD?  (Yeah, I know; I
should look this up, but since I'm posting anyway . . .)  That is, I'd
create an "rc.local" for most Linux distributions, but FreeBSD doesn't
"seem" to be running rc.local, so I'm thinking it's expecting something
else.  I know about rc.conf.local; I'm using that, but I want something
that runs at the end rather than the beginning.

8. Thank you to everybody who has responded for all of your help with
this!

9. If there's a tutorial for doing this that I missed that would go over
all of this, please feel free to point it out.  I tried to search in the
handbook and the mailing lists for these particular problems and I
didn't find solutions, but I might not have done a good job of looking.

10. There is no point 10, but after a 9-point missive I couldn't resist
bringing it up to an even 10.




Sean O'Connell wrote:
> 
> The Babbler stated:
> :
> : On the advice of Mr. Greg Smith, I tried using one Linksys EC2T card
> : along with one of the 3com cards.
> :
> : But I'm having the experience I had before when I tried the EC2T card:
> : it just plain don't work for me.
> :
> : I can insert it and it seems to be successful, but as soon as I actually
> : try to do any i/o to the card, I get the message
> :
> : ed1: device timeout
> :
> : So if I put the ed1 card on the internal network connection and the ep0
> : card on the external connection, then my gateway can talk to the
> : internet fine but as soon as "ping" to the internal network I get the
> : timeout message and the pings all fail.
> :
> : Or I can put the ed1 card on the external network and the ep0 card on
> : the external connection and then I can ping internally just fine but as
> : soon as I try to connect to the external network (since it uses DHCP), I
> : get the timeout message and I never even acquire a valid address.
> :
> : This was why I tried switching the second card to a 3com card in the
> : first place:  The 3com card is the only one I've tried that I can get to
> : work.  (I've tried two 3com cards; both work.  Two linksys cards; both
> : fail.  But I can't use two 3com cards together.  This is getting very
> : frustrating.)
> :
> : While I'm at it, perhaps another bit of advice would be available from
> : the group . . .
> : Although I can ping internally (if I use the 3com card) if I configure
> : static IP addresses,
> : I can't get the dhcpd to work properly.  I'm just saying
> :
> : dhcpd ep0
> :
> : in my rc.local file.  The dhcpd does seem to be running, and if I pop
> : out the card it complains bitterly, but my Linux box never actually sees
> : the address information being served up; it makes both DHCPREQUEST and
> : DHCPDISCOVER calls but FreeBSD never seems to answer (or at least
> : there's no response it can hear--I should check the logs on the FreeBSD
> : box to see whether it knows it got a request or not).
> :
> : And of course, that familar refrain . . .  "it work on Linux!"
> :
> : (But I can't get IPX tunneling to work under Linux, which is why I'm
> : bothering to do all this in the first place.)
> :
> : Is there anything more to it?  I notice that my (working) Linux
> : configuration uses the command
> :
> :    daemon /usr/bin/dhcpd eth1
> :
> : Do I need something like this?  (It's not a command I'd heard of before,
> : and there's no man page for it under Linux; I can't readily check
> : FreeBSD--I have to boot the firewall under Linux to send mail, and I
> : don't have my other FreeBSD box set up enough to send & receive mail.)
> 
> There are several things going on here. First off, there is an irq
> problem (ed1: timeout). Secondly, the NIC will attach as ed0 if you
> make a small kernel tweak (change "device ed0 at ..." to just "device ed")
> this will let the card be ed0. The irq problem is that you neeed to
> designate a free irq for each NIC card and one for the controller (pcic0)
> if you are not in polling mode.
> 
> You need to know what irqs are free and add that as an irq line in
> your /etc/pccard.conf. The two 3Com cards should work together if
> you force add two separate config tuples to your pccard.conf. I still
> think the problem is most likely the irq issue.
> 
> As for getting the dhcp server to start, you need to tie it to
> the internal nic and the other to be the external. This is far
> simpler if one is an ep device and the other is ed (no abstracted
> interface):
> 
> Hmm... looking at the pccard.conf file (that I zapped :) on line,
> I see that you are using two different 3Com types:
> 
> irq 3 9
> 
> # This is the Cable-modem card I got.
> # 3Com Etherlink III 3CXE589EC
> # 3Com Etherlink III 3CXE589ET
> card "3Com" "Megahertz 589E"
>         config  0x1 "ep" ?
>         insert  /etc/pccard_ether $device start
>         insert  /sbin/dhclient $device
>         remove  kill -9 `cat /var/run/dhclient.pid`
>         remove  /etc/pccard_ether $device stop
> 
> # This is the 3com card with the huge dongle.
> # 3Com Etherlink III 3C589B, 3C589C
> card "3Com Corporation" "3C589"
>         config  0x2 "ep" ?
>         insert  /etc/pccard_ether $device start -link0 link1
>         insert  /usr/bin/dhcpd $device
>         remove  kill -9 `cat /var/run/dhcpd.pid`
>         remove  /etc/pccard_ether $device stop
> 
> (the 0x2 is made up in the second entry since I am not sure if
>  it will work or not .. need the output from pccardc dumpcis)
> 
> HTH
> S
> --
> 1--------01---------01--------01--------01--------01--------01--------0
> Sean O'Connell                                       sean@stat.Duke.EDU

-- 
"Brian, the man from babble-on"              bts@babbleon.org
Brian T. Schellenberger                      http://www.babbleon.org
Support http://www.eff.org.                  Support decss defendents.
Support http://www.programming-freedom.org.  Boycott amazon.com.


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-mobile" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A60E564.1190A2FF>