gemini: Make a per-board case for ethernet MAC
The DNS-313 isn't the only special board so let's bite the bullet and create a case ladder in preparation for DIR-685. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [refreshed]
This commit is contained in:
		 Linus Walleij
					Linus Walleij
				
			
				
					committed by
					
						 Christian Lamparter
						Christian Lamparter
					
				
			
			
				
	
			
			
			 Christian Lamparter
						Christian Lamparter
					
				
			
						parent
						
							cd6c3535cd
						
					
				
				
					commit
					38d85d2c9f
				
			| @@ -9,17 +9,8 @@ set_ether_mac() { | |||||||
| 	local MAC1 | 	local MAC1 | ||||||
| 	local MAC2 | 	local MAC2 | ||||||
|  |  | ||||||
| 	# Most devices have a standard "VCTL" partition | 	case "$(board_name)" in | ||||||
| 	part="$(find_mtd_part VCTL)" | 	dlink,dns-313) | ||||||
| 	if [ -n "$part" ]; then |  | ||||||
| 		MAC1="$(strings $part |grep MAC|cut -d: -f2|cut -c3-14|sed -e 's,\(..\),:\1,g' -e 's,^:,,')" |  | ||||||
| 		MAC2="$(strings $part |grep MAC|cut -d: -f8|cut -c3-14|sed -e 's,\(..\),:\1,g' -e 's,^:,,')" |  | ||||||
|  |  | ||||||
| 		ip link set eth0 address "$MAC1" 2>/dev/null |  | ||||||
| 		ip link set eth1 address "$MAC2" 2>/dev/null |  | ||||||
| 		return 0 |  | ||||||
| 	fi |  | ||||||
|  |  | ||||||
| 		# The DNS-313 has a special field in its RedBoot | 		# The DNS-313 has a special field in its RedBoot | ||||||
| 		# binary that we need to check | 		# binary that we need to check | ||||||
| 		part="$(find_mtd_part RedBoot)" | 		part="$(find_mtd_part RedBoot)" | ||||||
| @@ -31,6 +22,19 @@ set_ether_mac() { | |||||||
| 				return 0 | 				return 0 | ||||||
| 			fi | 			fi | ||||||
| 		fi | 		fi | ||||||
|  | 		;; | ||||||
|  | 	esac | ||||||
|  |  | ||||||
|  | 	# Most devices have a standard "VCTL" partition | ||||||
|  | 	part="$(find_mtd_part VCTL)" | ||||||
|  | 	if [ -n "$part" ]; then | ||||||
|  | 		MAC1="$(strings $part |grep MAC|cut -d: -f2|cut -c3-14|sed -e 's,\(..\),:\1,g' -e 's,^:,,')" | ||||||
|  | 		MAC2="$(strings $part |grep MAC|cut -d: -f8|cut -c3-14|sed -e 's,\(..\),:\1,g' -e 's,^:,,')" | ||||||
|  |  | ||||||
|  | 		ip link set eth0 address "$MAC1" 2>/dev/null | ||||||
|  | 		ip link set eth1 address "$MAC2" 2>/dev/null | ||||||
|  | 		return 0 | ||||||
|  | 	fi | ||||||
| } | } | ||||||
|  |  | ||||||
| boot_hook_add preinit_main set_ether_mac | boot_hook_add preinit_main set_ether_mac | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user