Preview ate my xe0!

Matthew Dillon dillon at apollo.backplane.com
Thu Sep 15 10:28:36 PDT 2005


:
:I updated my IBM 600E laptop to 1.3.5 a few days ago.  I had previously
:been getting a network connection through a Xircom card.
:
:After updating to 1.3.5, I would see this in the dmesg:
:
:xe0: <Xircom CreditCard Ethernet + Modem> at port 0x2e8-0x2ef irq 11
:function 0 config 39 on pccard 1
:device_probe_and_attach: xe0 returned 19
:
:However, ifconfig returns no xe0 device.
:
:Is there an obvious step I'm missing?

    What are you upgrading from?

    Error 19 is ENODEV.  if_xe returns ENODEV in three cases.  Two of those
    cases prints out a nice error message first, and since you didn't 
    get a nice error message I'm guessing the problem is around line 269:

        /*
         * prod(new) =  rev, media, prod(old)
         * prod(new) =  (don't care), (care 0x10 bit), (care 0x0f bit)
         */
        prod = (product << 8) | prodext;
        card_itm = xe_card_type_lookup(prod);
        if (card_itm == NULL)
                return ENODEV;

    I recommend adding a printf() before the lookup to print out the
    prod variable.  Something like this:

	printf("PROD %x\n", prod);		<<<<<<<< ADDME
        card_itm = xe_card_type_lookup(prod);
	printf("CARD_ITM %p\n", card_itm);	<<<<<<<< ADDME

					-Matt
					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>





More information about the Bugs mailing list