[Bug 274092] if_smsc.c needs to use ether_gen_addr instead of read_random for more stable MAC address

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 12 Oct 2023 13:04:47 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274092

--- Comment #17 from Patrick M. Hausen <pmh@hausen.com> ---
Unfortunately I cannot boot the board without USB Ethernet connected. It's a
compute module placed into this board:

https://www.waveshare.com/wiki/Compute_Module_PoE_Board

Also although I tried for a long time I could not get serial console to work.
So once the system crashes at boot and I lose SSH access all I can do is
re-image.

With a debug kernel will there be more output to get a screenshot with a
camera? Or can I dd the entire EMMC of the module to a file and then extract
information, somehow?

Kind regards,
Patrick

For the moment I am satisfied to be able to use these tasks in Ansible to solve
the matter:

- name: Read serial number
  ansible.builtin.shell: |
    set -o pipefail && /bin/kenv | \
    /usr/bin/awk '/smbios.system.serial/ {printf "%s:%s:%s\n", substr($0,
length($0)-6, 2),  substr($0, length($0)-4, 2),  substr($0, length($0)-2, 2)}'
  register: mac_lower
  changed_when: false

- name: Set MAC address
  ansible.builtin.copy:
    dest: "/etc/start_if.{{ network.wired.interface }}"
    owner: root
    group: wheel
    mode: '0644'
    content: |
      /sbin/ifconfig $1 down
      /sbin/ifconfig $1 link b8:27:eb:{{ mac_lower.stdout }}
      /sbin/ifconfig $1 up

Anyway what would be the result if we get this to work? As I have been arguing
on the mailinglist the RPi foundation clearly documents that we should use the
device's serial number to generate the MAC and nothing else for all RPi 3 and
older.

Kind regards,
Patrick

-- 
You are receiving this mail because:
You are the assignee for the bug.