Donald Becker wrote:
> On Wed, 26 Nov 1997, Wintermute wrote: > > > > You didn't include the 'dmesg' output in the attachments. What value is > > > being detected? > > > > > > > My fault, I forgot to attach it. I will send you several dmesg outputs in > > my next > > message so that you have some sort of result set for comparison. I can > > already > > tell you that the number it is detecting is most always different, example: > > 0x0000, 0xFFFF, 0x00FF, 0xFF00. The only thing constant are the hex values > > of 0 > > and F. > > Is this at the first check for 6d50, or the second? > id_read_eeprom(7) > inw(ioaddr) > > If at id_read_eeprom(), increase the timeout value a *lot* . > Houston, we have liftoff! Before I got this piece of mail from you I did just that (just trying to clarify that indeed I am QUICK <big smile>). Now that I see this would be the next thing you would have done I feel REALLY good. Ok, now for the details. The delay I had to modify was the one at id_read_eeprom() function. Setting this value in progressive increments of 1000 I reached success at 5000 usec's of delay. To be on the safe side I also modified the function above it with the same value (Ok, so I'm paranoid). This worked like a charm and my 3c509b card is ready to kick some serious network butt (In a low-level kinda way <grin>). Now I did notice when I rebooted after inserting the module that Win95 had trouble detecting the card later on (even with removing the driver from Win95 and reinstalling it after a warm boot). To counter this problem I shifted the card back into PnP mode and configured Windows accordingly. To test it I restarted the system several times into Linux and then Win95 and it worked like magic. (The driver must have left the card in an unstable state when using it in ISA mode.) Go figure... I care not.. Now here's what I don't understand. The usleep() function is used in the diagnostic program, and the udelay() function is used in the driver. The usleep function works correctly, and the udelay function seems to not give enough time for the read on the card to return information. Could there be a better way of setting this delay in later releases of the driver by calibrating the delay to the speed of the system (IE: ISA Bus)? Anyways, I'm now set to take on my next challenge and set up Linux to use the Road Runner cablemodem service (which I've read up on quite well in the interim). I thank you for your help, you do a great service to the Linux community with your work. I don't think we (the users) show our appreciation enough.. after all, what would a Linux machine be without network access? (It would be something like self mutilation in my case.. but opinions may vary.) A thousand thanks to you sir, from all of us out here in the Linux community! (BTW, attached is the source code for the 1.14 driver with the delay values changed, for anyone who isn't C savvy and wants to give it a try to see if it will solve a detection problem they may be having. -- A few keywords nice and close together for the search engines --- 3c509, ethernet, detection problem, Linux, Debian). A content Linux Adeptus Major, Wintermute -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .