sunxi: ensure NanoPi R1 has unique MAC address
Ensure the MAC address for all NanoPi R1 boards is assigned uniquely for
each board.
The vendor ships the device in two variants; one with and one without
eMMC; but both without static mac-addresses.
In order to assign both board types unique MAC addresses, fall back on
the same method used for the NanoPi R2S and R4S in case the EEPROM
chip is not present by generating the board MAC from the SD card CID.
[0] https://wiki.friendlyelec.com/wiki/index.php/NanoPi_R1#Hardware_Spec
Similar too and based on:
commit b5675f500d ("rockchip: ensure NanoPi R4S has unique MAC address")
Co-authored-by: David Bauer <mail@david-bauer.net>
Signed-off-by: Jan-Niklas Burfeind <git@aiyionpri.me>
			
			
This commit is contained in:
		 Jan-Niklas Burfeind
					Jan-Niklas Burfeind
				
			
				
					committed by
					
						 David Bauer
						David Bauer
					
				
			
			
				
	
			
			
			 David Bauer
						David Bauer
					
				
			
						parent
						
							5925401007
						
					
				
				
					commit
					c7d3bbb909
				
			| @@ -204,6 +204,14 @@ macaddr_add() { | ||||
| 	echo $oui:$nic | ||||
| } | ||||
|  | ||||
| macaddr_generate_from_mmc_cid() { | ||||
| 	local mmc_dev=$1 | ||||
|  | ||||
| 	local sd_hash=$(sha256sum /sys/class/block/$mmc_dev/device/cid) | ||||
| 	local mac_base=$(macaddr_canonicalize "$(echo "${sd_hash}" | dd bs=1 count=12 2>/dev/null)") | ||||
| 	echo "$(macaddr_unsetbit_mc "$(macaddr_setbit_la "${mac_base}")")" | ||||
| } | ||||
|  | ||||
| macaddr_geteui() { | ||||
| 	local mac=$1 | ||||
| 	local sep=$2 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user