you might be misunderstanding me. I did not change them to the same MAC.
I have two jetsons which tell me they have the same NIC mac address.
I’m trying to circumvent that to get them different MAC addresses, but they keep reverting to the same one on reboot.
Mind you this is an image I built using create-jetson-nano-sd-card-image.sh and the services might not be the same. Creating an image that way, with a customized rootfs, kernel, etc, worked perfectly. It calls flash.sh with the proper parameters to create a customized image you can flash onto any sized sd card that will run all the proper first boot scripts. I was able to get the firewall fully functional. If you search the forum for ‘broken firewall on nano’ you should be able to find it the procedures I followed in detail.
If you want to customize things, that’s the documented (in l4t docs), recommended, way to do it. As I mentioned earlier in the thread, cloning a system like this is destined to have problems like this because once you boot a system the first time, all sorts of things you really can’t predict happen, and that’s only compounded by Nvidia’s modifications to the system and the board being brand new. Cloning a rootfs with all those modificaitons will likely have unpredictable side effects with all these modifications baked in.
Unfortunately I have no second nano to test with, but somebody with two (eg, Nvidia) might be able to follow your instrucitons and replicate. It appears, based on what you are describing, the mac address is being stored somewhere on the sd card and that really shouldn’t happen. Probably your easiest mitigation from here is to try to get macchangeer working and set a new mac on every boot (but you were already trying that). If you googel ‘change mac address linux bridge’ you should be able to find instructions on how to do it manually if that fails somehow.
… but it doesn’t stick on a reboot. Something may be broken or you may have to set up a unit file to do the task on every boot before networking comes up. I’m not familiar enough with macchanger to say which. On installation it did seem to specify that it would activate on every interface up and it’s not doing that.
The mac address may be set by bootloader from EEPROM being fused at prod time, AFAIK for TX1/TX2.
Someone from NVIDIA may tell where to find the nano’s EEPROM layout, how to check its contents and how to adjust it in case it cannot be read and set correctly.
Just dd /dev/oldcard to /dev/newcard, making sure not to accidentally mix up the order (and to read/write to the root of the block device, eg. /dev/sda rather than /dev/sda1). Gnome-disks probably makes this safer, but I think you have to write to an intermediary .img. You don’t need to do anything to a target card like format it. Writing the image will overwrite anything on a target device.
the short term solution
is to open nm-connections-editor and manually adjust the MAC address value.
the long term solution, in my opinion, is to makesparse && flash.sh -r , or you could reinstall OS with sdk manager
I didn’t know you could do that with network manager, but here are some nore details on that suggestion here (for wifi at least):
That seems a really nice solution. Maybe the Jetson really is the same as the Tx1/tx2 ant they all have the same mac address out the factory before you flash.
Now where to find the documentation to change the Mac address for nano. I am betting it’s well hidden given no Nvidia rep has posted it yet.
It would certainly be funny if all the Mac addresses are the same and it was an accident. I will post the last two digits of mine when I’m back at my nano.
You can try bridging one real interface to a virtual one and changing the Mac of the virtual interface. The issue is I don’t know if it will work in cases of actual Mac address conflicts. You can try. I will dig up instructions when I get home. I’m on mobile atm.
I started a new thread asking about the mac addresses, and whether they are all the same or not. According to moderator WayneWWW (in another thread on the TX1 forum), TX1 at least should have a unique MAC.
So I just tested it on nano. It works for me. My /etc/network/interfaces is now:
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp
hwaddress ether 02:01:02:03:04:08
You can put the eth0 stuff in a separate file called eth0 in /etc/network/interfaces.d if you wish as well.
So it works, survives a reboot, etc. I think you may have had an error in your configuration. I’d still like to know why your hardware addresses are conflicting in the first place.