lkml.org 
[lkml]   [2007]   [Jul]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: forcedeth ?
    On 7/31/07, Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> wrote:
    > On 31.07.2007 00:17, Gabriel C wrote:
    > > Sasa Ostrouska wrote:
    > >
    > >> Gabriel, hmm, shouldnt udev be able to autoconfigure that ? But I need
    > >> to check that, thx for the tip.
    > >
    > > Yes udev does this based on the MAC address but AFAIK forcedeth is 'special' for some reason
    > > ( which I can really remember now and gets on each boot a new MAC address or alike )
    >
    > Ah yes, that's a workaround for certain buggy boards to make sure you're
    > not left without networking even if the MAC address stored on the board
    > is bogus.
    >
    > Basically, forcedeth checks if the MAC address supplied by your
    > mainboard is bogus and autogenerates a random MAC address from a private
    > range (prefix 00:00:6c) as workaround. However, it will complain loudly
    > if it has to do that.
    >
    > Quoting from forcedeth.c:
    > > if (!is_valid_ether_addr(dev->perm_addr)) {
    > > /*
    > > * Bad mac address. At least one bios sets the mac address
    > > * to 01:23:45:67:89:ab
    > > */
    > > printk(KERN_ERR "%s: Invalid Mac address detected: %02x:%02x:%02x:%02x:%02x:%02x\n",
    > > pci_name(pci_dev),
    > > dev->dev_addr[0], dev->dev_addr[1], dev->dev_addr[2],
    > > dev->dev_addr[3], dev->dev_addr[4], dev->dev_addr[5]);
    > > printk(KERN_ERR "Please complain to your hardware vendor. Switching to a random MAC.\n");
    > > dev->dev_addr[0] = 0x00;
    > > dev->dev_addr[1] = 0x00;
    > > dev->dev_addr[2] = 0x6c;
    > > get_random_bytes(&dev->dev_addr[3], 3);
    > > }
    >
    > Sometimes it helps to update the BIOS and/or set the MAC address which
    > is printed on the board as MAC address in the BIOS.

    In any case, it would be nice if the network core could add something like:
    MAC_ORIGIN=device
    MAC_ORIGIN=user
    MAC_ORIGIN=random
    or whatever makes sense here, to the uevent environment. So userspace
    can handle according to that, like falling back using the
    bus-slot-number to lookup the persistent name, or whatever is
    appropriate.

    Thanks,
    Kay
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-07-31 03:55    [W:0.024 / U:30.352 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site