Problems with Intel PRO/100 - Minix

This is a discussion on Problems with Intel PRO/100 - Minix ; Dear all, Minix refuses to use the integrated ethernet on my laptop, which is listed in Windows as "Intel(R) PRO/100 VE Network Connection". I would have expected this to work with the "Intel Pro/100" driver (fxp). Originally I received the ...

+ Reply to Thread
Results 1 to 7 of 7

Thread: Problems with Intel PRO/100

  1. Problems with Intel PRO/100

    Dear all,

    Minix refuses to use the integrated ethernet on my laptop, which is
    listed in Windows as "Intel(R) PRO/100 VE Network Connection". I would
    have expected this to work with the "Intel Pro/100" driver (fxp).

    Originally I received the following error message:
    osdep_eth_init: no ethernet device at task=35585,port=0

    I then added its PCI information in the following places:
    - Device ID (8086:103d) in drivers/fxp/fxp.c drivers/pci/pci_table.c
    - Revision ID (81) in drivers/fxp/fxp.c and drivers/fxp/fxp.h.
    - Configuring the card like the 82558A and 82559 models (in the FreeBSD
    fxp driver 82557 is the only exception, so this seemed the most
    logical thing to do)

    Full diffs are found below this post.

    After recompiling and rebooting I get no error messages for the
    ethernet device itself, even if pci_debug=1. I do get the following
    message:
    Alarm call
    Unable to obtain an IP address

    DHCP works fine in Windows so the card, cable and router are all OK.
    Manually configuring IP address and gateway does not help, so clearly
    the driver is not working.

    My questions:
    - Am I missing something obvious?
    - Do I need any configuration to get this to work?
    - Is the device is too different to be supported by the current driver?
    - Could canging the default card configuration in the driver work? How
    do I go about finding the correct values?

    A datasheet for the card is foudn below, but I do not know how to
    extract the correct default settings from it:
    http://download.intel.com/design/chi...s/29074401.pdf

    When running lspci in Linux I get the following info (second line is
    with -n):
    01:08.0 Ethernet controller: Intel Corporation 82801DB PRO/100 VE (MOB)
    Ethernet Controller (rev 81)
    01:08.0 0200: 8086:103d (rev 81)

    When booting Minix with pci_debug=1 I get the following info in the log
    file:
    1.8.0: Unknown device, vendor 8086 (Intel), device 103D
    Device index: 17
    Subsystem: Vid 0x1028, did 0x2002
    class Ethernet controller (2/0/0)
    IRQ 11 for INTA
    bar_0: 0x1000 bytes at 0xfcffd000 memory
    bar_1: 64 bytes at 0xecc0 I/O
    @0xdc: capability type 0x1: PCI Power Management

    Any help would be welcome.

    With kind regards,
    Erik van der Kouwe



    *** minix-3.1.2/drivers/fxp/fxp.h Wed Mar 19 09:30:10 2008
    --- minix-3.1.2-fxp/drivers/fxp/fxp.h Wed Mar 19 09:30:56 2008
    ***************
    *** 24,29 ****
    --- 24,30 ----
    #define FXP_REV_82550_3 0x0E
    #define FXP_REV_82551_1 0x0F
    #define FXP_REV_82551_2 0x10
    + #define FXP_REV_82801DB 0x81

    /* Control/Status Registers (CSR). The first 8 bytes are called
    * System Control Block (SCB)



    *** minix-3.1.2/drivers/fxp/fxp.c Sat Mar 25 05:49:04 2006
    --- minix-3.1.2-fxp/drivers/fxp/fxp.c Wed Mar 19 09:34:04 2008
    ***************
    *** 85,90 ****
    --- 85,91 ----
    {
    { 0x8086, 0x1229, 0 }, /* Intel 82557, etc. */
    { 0x8086, 0x2449, 0 }, /* Intel 82801BA/BAM/CA/CAM */
    + { 0x8086, 0x103d, 0 }, /* Intel 82801DB */

    { 0x0000, 0x0000, 0 }
    };
    ***************
    *** 195,200 ****
    --- 196,202 ----
    #define FT_82557 0x1
    #define FT_82558A 0x2
    #define FT_82559 0x4
    + #define FT_82801 0x8

    static fxp_t fxp_table[FXP_PORT_NR];

    ***************
    *** 604,609 ****
    --- 606,614 ----
    case FXP_REV_82551_2: str= "82551(2)"; /* 0x10 */
    fp->fxp_type= FT_82559;
    break;
    + case FXP_REV_82801DB: str= "82801DB"; /* 0x81 */
    + fp->fxp_type= FT_82801;
    + break;
    }

    #if VERBOSE
    ***************
    *** 709,714 ****
    --- 714,720 ----
    break;
    case FT_82558A:
    case FT_82559:
    + case FT_82801:
    if (mwi)
    fp->fxp_conf_bytes[3] |= CCB3_MWIE;
    if (ext_stat1)



    *** minix-3.1.2/drivers/pci/pci_table.c Tue Mar 7 15:14:54 2006
    --- minix-3.1.2-fxp/drivers/pci/pci_table.c Wed Mar 19 09:12:35 2008
    ***************
    *** 118,123 ****
    --- 118,124 ----
    { 0x8086, 0x1004, "Intel 82543GC Gigabit Ethernet Controller" },
    { 0x8086, 0x1029, "Intel EtherExpressPro100 ID1029" },
    { 0x8086, 0x1030, "Intel Corporation 82559 InBusiness 10/100" },
    + { 0x8086, 0x103d, "Intel Corporation 82801DB PRO/100 VE (MOB)" },
    { 0x8086, 0x1209, "Intel EtherExpressPro100 82559ER" },
    { 0x8086, 0x1229, "Intel EtherExpressPro100 82557/8/9" },
    { 0x8086, 0x122D, "Intel 82437FX" },

  2. Re: Problems with Intel PRO/100

    In article <47e0e5e4$0$25480$ba620dc5@text.nova.planet.nl>,
    Erik van der Kouwe wrote:

    The first thing to do is to check whether the ethernet address is okay
    (using hostaddr -e).


    --
    That was it. Done. The faulty Monk was turned out into the desert where it
    could believe what it liked, including the idea that it had been hard done
    by. It was allowed to keep its horse, since horses were so cheap to make.
    -- Douglas Adams in Dirk Gently's Holistic Detective Agency

  3. Re: Problems with Intel PRO/100

    > The first thing to do is to check whether the ethernet address is
    > okay (using hostaddr -e).


    Thank you for the reply.

    The ethernet address is correct (that is, it has the same value as in
    Windows). I suppose this means that the driver works at least to some
    extent.

    With kind regards,
    Erik van der Kouwe

  4. Re: Problems with Intel PRO/100

    In article <47e11172$0$7187$ba620dc5@text.nova.planet.nl>,
    Erik van der Kouwe wrote:
    >> The first thing to do is to check whether the ethernet address is
    >> okay (using hostaddr -e).

    >
    >Thank you for the reply.
    >
    >The ethernet address is correct (that is, it has the same value as in
    >Windows). I suppose this means that the driver works at least to some
    >extent.


    In that case, recompile the driver with VERBOSE set to 1 (fxp.h), and check
    if the driver reports link up.

    Another thing to try is to use tcpdump on another machine to see if you see any
    packets at all. Or maybe just one. If it is just one, you may have an
    interrupt problem.


    --
    That was it. Done. The faulty Monk was turned out into the desert where it
    could believe what it liked, including the idea that it had been hard done
    by. It was allowed to keep its horse, since horses were so cheap to make.
    -- Douglas Adams in Dirk Gently's Holistic Detective Agency

  5. Re: Problems with Intel PRO/100

    > In that case, recompile the driver with VERBOSE set to 1 (fxp.h), and
    > check if the driver reports link up.
    >
    > Another thing to try is to use tcpdump on another machine to see if
    > you see any packets at all. Or maybe just one. If it is just one, you
    > may have an interrupt problem.


    It reports link down.

    fxp#0: Intel Corporation 82801DB PRO/100 VE (MOB) (8086/103d) at 1.8.0
    fxp#0: device revision: 82801DB
    fxp_set_timer: calling sys_setalarm for 107 (now+60)
    0: 61, 1: 8, 2: 0, 3: 0, 4: 0, 5: 0, 6: 32, 7: 2, 8: 1, 9: 0, 10: 2e,
    11: 0, 12: 60, 13: 0, 14: f2, 15: 48, 16: 0, 17: 40, 18: f2, 19: 80,
    20: 3f, 21: 5,
    0: 61, 1: 8, 2: 0, 3: 0, 4: 0, 5: 0, 6: 32, 7: 2, 8: 1, 9: 0, 10: 2e,
    11: 0, 12: 60, 13: 0, 14: f2, 15: 48, 16: 0, 17: 40, 18: fa, 19: 80,
    20: 3f, 21: 5,
    fxp#0: EEPROM address length: 6
    fxp#0: hardware ethernet address: 00:11:43:39:cd:de
    fxp#0: link down

    I do not receive any packets from it on other computers on the network.
    This may not mean much though, as it is connected through a
    router/switch. Unfortunately, I have no crossed cable or old-fashoned
    hub to directly connect the laptop with another computer.

    --
    With kind regards,
    Erik van der Kouwe

  6. Re: Problems with Intel PRO/100

    In article <47e12fd6$0$24514$ba620dc5@text.nova.planet.nl>,
    Erik van der Kouwe wrote:
    >It reports link down.


    That's not good. Maybe the card needs some special initialization that
    the minix driver doesn't do. I don't know.


    --
    That was it. Done. The faulty Monk was turned out into the desert where it
    could believe what it liked, including the idea that it had been hard done
    by. It was allowed to keep its horse, since horses were so cheap to make.
    -- Douglas Adams in Dirk Gently's Holistic Detective Agency

  7. Re: Problems with Intel PRO/100

    > > It reports link down.
    >
    > That's not good. Maybe the card needs some special initialization that
    > the minix driver doesn't do. I don't know.


    It seems i've gotten it to work.

    I compared the verbose output with the values set in the OPENBSD driver
    (found at http://fxr.watson.org/fxr/source//de...xp.c?v=OPENBSD) and
    noticed that there were minor differences in the configuration bytes. I
    added the following lines at the end of the configuration code:

    fp->fxp_conf_bytes[6] = 0xba; /* ctrl 1 */
    fp->fxp_conf_bytes[15] = 0x49; /* promiscuous */
    fp->fxp_conf_bytes[21] = 0x0d; /* mc_all */

    I now get the following message:

    fxp#0: link up, 100 Mbps, full duplex

    Although the machine still complains it fails to get an IP address,
    both ifconfig and the router which acts as a DHCP server disagree. I
    can access both the LAN and the internet without problems now.

    Thanks again for your help.

    --
    With kind regards,
    Erik van der Kouwe

+ Reply to Thread