Messages in this thread | | | From | Gerard Saraber <> | Subject | porting tulip driver from 2.2.x to 2.3.14 | Date | Mon, 23 Aug 1999 09:30:29 -0400 |
| |
Hi :-) I've been having trouble with my tulip (Linksys LNE10/100TX - PNIC) network card since I bought it, It got much better since someone on the #stampede irc channel pointed me to Donald Becker's Network card driver page .. my card works much better with driver v91 i think it was revision e, not sure. Anyway .. feeling adventerous and always running the latest kernel I decided to upgrade to 2.3.14 .. which comes with the tulip.c v89H which doesn't work with my card .. so no problem , just copy over the version 91e .. wrong, that doesn't compile anymore.. So I've spend yesterday all day trying to fix the driver .. I've gotten it to compile and actually send/receive some packets, but I've locked my system up solid doing that, replacing dev_alloc_skb( ) with DEV_ALLOC_SKB( ) and #defining it as #define DEV_ALLOC_SKB( len ) dev_alloc_skb( len+2 ) fixed the hard lockup .. but i't still not very solid.. If I try to ping the other two systems on my net I get something like: reply from 192.168.13.2 - 1999 ms reply from 192.168.13.2 - 1000 ms reply from 192.168.13.2 - 0.1 ms then it stops ..
I've noticed there have been some changes in the IRQ handling code as well ( SA_SHIRQ ) in the driver lots of comments about "shared irq" stuff .. so no problem I ported that stuff from the kernel driver too, as best I could.. then the card stopped working all together so i thought I might have broken the driver .. tore up too much. ( I've been working on the module mainly .. load module, ifconfig eth0 up, ping gateway unload fix, compile etc.) anyway, so i got a later driver found through a link on Donald Becker's site to v91g and started over, I've pretty much replaced all the "struct device" declarations with "struct net_device" replaced "ioaddr = pdev->base_addr &~3" with ioaddr = pdev->resource[0].start &~3; But I can't get my card to do anything anymore .. "even" in windows98 (where the card worked (almost) flawless before) it doesn't ping or reply to pings anymore .. So right now the card could have died :-(
So my questions (after all this) are: 1. could I have actually broken the card by messing with it's driver ? 2. Are there any documents about the required driver changes that I could read to make my "porting" a little more educated .. I did a diff between the 89H kernel driver and Donald's 91c (i think) driver.. the kernel driver is 88k, the 91c driver is 104k .. and the diff was 95k .. so straightforward porting wasn't really possible.
Any help / hints would be appreciated .. If anyone is interested I'd gladly make the "hacked up" drivers available for anyone to look at ..
Thanks, --====================================================================-- Gerard Saraber | http://saraber.dhs.org work: gsaraber@unlimitedsolutions.com | If you don't like Linux you home: gerard@saraber.dhs.org | didn't configure it right.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |