Ok, I should have listened…

But I didn’t.

After I booted 9 of the 10 devices (nr. #2 failed with a flaky DVD drive, and a possibly broken fan), I could only access them “a few times”. They behaved very erratically. A bug in the kernel? Random oopses?

It was a bit simpler than I have thought.

# sudo arp -v | grep 00:01
10.0.0.43 ether 00:01:02:03:04:05 C eth0
10.0.0.45 ether 00:01:02:03:04:05 C eth0
10.0.0.40 ether 00:01:02:03:04:05 C eth0
10.0.0.46 ether 00:01:02:03:04:05 C eth0

The fix of course was really easy:

--- drivers/net/xenon_net.c-old 2007-06-22 01:55:49.000000000 +0200
+++ drivers/net/xenon_net.c     2007-06-22 01:55:49.000000000 +0200
@@ -561,7 +561,7 @@
        BUG_ON (dev == NULL);
        BUG_ON (tp == NULL);

-       memcpy(dev->dev_addr, "x00x01x02x03x04x05", 6);
+       random_ether_addr(dev->dev_addr);

        dev->open = xenon_net_open;
        dev->hard_start_xmit = xenon_net_start_xmit;

Because we don’t yet read the MAC address from the Keyvault, I just hardcoded it. My fault. Entirely.


							

About this entry