Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Sep 2023 15:02:07 -0500
From:      Mike Karels <mike@karels.net>
To:        "Patrick M. Hausen" <pmh@hausen.com>
Cc:        Mark Millard <marklmi@yahoo.com>, freebsd-arm@freebsd.org
Subject:   Re: Getting a stable MAC address for a RPI CM3+ with ue0 interface
Message-ID:  <84C20AD4-1F37-414E-8808-60A2C9B621D9@karels.net>
In-Reply-To: <B50A4409-84C0-405D-8099-43692243AE52@hausen.com>
References:  <3C1032FF-B914-4863-8A03-759A8B4BE216@hausen.com> <77E70D30-8E7D-42DC-A041-3A783E1C6908@yahoo.com> <5205C76E-BAB4-4AB7-8A03-1E8A2D4353BB@hausen.com> <B50A4409-84C0-405D-8099-43692243AE52@hausen.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 20 Sep 2023, at 14:49, Patrick M. Hausen wrote:

> Hi all,
>
> some more research ...
>
>> Am 20.09.2023 um 21:05 schrieb Patrick M. Hausen <pmh@hausen.com>:
>> No worky.
>> [...]
>
>
> I could not find any code in the network startup routines in userland that
> would generate and configure a random MAC address. So I looked for
> the driver.
>
> Apparently the TuringPi uses smsc(4), and there we have it straight from
> the driver source:
>
> -------------------
> static void
> smsc_attach_post(struct usb_ether *ue)
> {
> [...]
>  /* Attempt to get the mac address, if an EEPROM is not attached this
> * will just return FF:FF:FF:FF:FF:FF, so in such cases we invent a MAC
> * address based on urandom.
> */
> [...]
>  /* Initialise the chip for the first time */
> smsc_chip_init(sc);
> }
> -------------------
>
> So what we would really need is a tunable - one per driver or possibly a
> common one read and acted upon by all of the USB ethernet drivers ...

There is a routine called ether_gen_addr(), which will generate an
Ethernet MAC based on the hostid and the interface name, both of which
are reasonably stable.  Not very many drivers use it though.  It
would probably be an improvement.

> With no code on our side to perform anything, no wonder the RPI
> config files have no effect.

It would seem wrong to me to have USB Ethernet drivers using an RPI-specific
mechanism.

> Dang. That's frustrating. With aarch64 having been promoted to "tier 1"
> I really expected full support for all RPI platforms and related features
> and hardware.
>
> Or am I misreading that? I though that the Pi was *the* aarch64 platform,
> at least in numbers ...

In numbers, probably.  In support, no.

		Mike

> Kind regards,
> Patrick



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?84C20AD4-1F37-414E-8808-60A2C9B621D9>