[Prev][Next][Index][Thread]
BOOTP or Bug
Well, after looking deeper, it seems that the return packets are not
getting to the bootp
ether callback routine in ~OSKit/bootp/driver.c ...
net_receive(void *data, oskit_bufio_t *b, oskit_size_t pkt_size)
I've put some printf's here that would trigger if the routine was entered
and it never gets called.
I've snooped the line and I can see the BOOTP/REQUEST go out and the BOOTP
server acknowledges each and every one, but the packets don't get to the
net_receive callback.
Now the pingreply kernel works (but not the BOOTP part) if I type in the IP
address and netmask and gateway. It sends the ICMP echo reply.
I'm trying to put a new ethercard driver into OSKit, one that is not
provided with the basic release, it is for a cs89x0 from Crystal
Semiconductor. I've placed the code in ~OSKit/linux/src/drivers/net
(cs89x0.c cs89x0.h) I've added an entry to
~OSKit/oskit/dev/linux_ethernet.h ...
driver(cs89x0, "ETH1", "JumpTec DIMMPC ", "Russel Nelson", "cs89x0",
cs89x0_probe)
and added an entry at the end of ~OSKit/linux/dev/etherdrivers...
ETHERDRIVERS = lance 3c59x
seeq8005 tulip eepro100 hp100 smc-ultra smc9194 wd 3c503 hp hp-plus ac3200
ne e2100 at1 700 fmv18x eth16i 3c509 znet eexpress eepro depca ewrk3
de4x5 apricot 3c501 3c507 3c505 sk_g16 ni52 ni65 cs89x0
I've noticed in both pingreply and netboot that the cs89x0_probe routine is
entered twice
could it be that I don't have the driver integrated properly?
One issue that I had to work around was as follows...
> current->state = TASK_INTERRUPTIBLE;
> current->timeout = jiffies + 3;
> schedule();
I had to replace this fragment with...
> /* wait 30 ms */
> /* NOTE: the loop below is a hack, The commented out code
> was what came with the driver but I could not get that to compile
> under OSKit.
> */
> loop = 10000;
> for (i =30; i > 0;i--){
> while(loop--)continue;
> loop = 10000;
> }
I thought about using osenv_timer... but wasn't sure if this was
appropriate in the context of a linux device driver.
Any insight would be appreciated.
=================================
To subscribe or unsubscribe, send mail with "subscribe" or "unsubscribe"
to oskit-users-request@flux.cs.utah.edu. The oskit-announce list is low
volume - if you want to subscribe, mail oskit-announce-request@flux.cs.utah.edu