Modify

Opened 5 years ago

Last modified 4 years ago

#12941 new defect

Routerboard 751U-2Hnd latest hardware support broken

Reported by: idahorazor Owned by: developers
Priority: normal Milestone: Barrier Breaker 14.07
Component: kernel Version: Attitude Adjustment 12.09 Beta
Keywords: routerboard 751 wlan issue Cc:

Description

We have been through every revision of routerboard 751's with about 500 deployed.

The latest version ( MAC Address: D4:CA:6D:6X:YY:ZZ, Serial Numbers ending in /243 ) do not expose the WLAN Mac address.

We have confirmed that routerboard 751's with serial numbers ending in /141 and /229 are working in Attitude Adjustment 12.09 Beta.

It seems Mikrotik has modified the hardware in the latest revision of the hardware within the Routerboard 751

You can confirm the issue by running ( cat /sys/class/ieee80211/phy0/macaddress ) It will return 00:00:00:00:00:00 on the latest routerboard 751 revision.

Attachments (0)

Change History (3)

comment:1 Changed 5 years ago by David Hutchison <dhutchison@…>

They changed the RB751 offset, it looks to be located at HARD_CONFIG + 0x10 rather than HARD_CONFIG + 0xe80

mach-rb750.c:
#define RB751_MAC_ADDRESS_OFFSET 0xE80
#define RB751_MAC_ADDRESS_OFFSET 0x10

However this breaks wireless support for older revisions of the RB751, what is the best approach to fix this architecture?

comment:2 Changed 5 years ago by David Hutchison <dhutchison@…>

I came up with the following fix:

--- arch/mips/ath79/mach-rb750.c
+++ arch/mips/ath79/mach-rb750.c
@@ -282,7 +282,6 @@
 
 #define RB751_HARDCONFIG	0x1f00b000
 #define RB751_HARDCONFIG_SIZE	0x1000
-#define RB751_MAC_ADDRESS_OFFSET 0xE80
 
 static void __init rb751_wlan_setup(void)
 {
@@ -290,6 +289,8 @@
 	struct ath9k_platform_data *wmac_data;
 	u16 tag_len;
 	u8 *tag;
+	u16 mac_len;
+	u8 *mac;
 	int err;
 
 	wmac_data = ap9x_pci_get_wmac_data(0);
@@ -313,8 +314,15 @@
 		pr_err("rb75x: unable to decode wlan eeprom data\n");
 		return;
 	}
+	
+	err = routerboot_find_tag(hardconfig, RB751_HARDCONFIG_SIZE,
+				  RB_ID_MAC_ADDRESS_PACK, &mac, &mac_len);
+	if (err) {
+		pr_err("rb75x: no mac address found\n");
+		return;
+	}
 
-	ap91_pci_init(NULL, hardconfig + RB751_MAC_ADDRESS_OFFSET);
+	ap91_pci_init(NULL, mac);
 }
 
 static void __init rb751_setup(void)

comment:3 Changed 4 years ago by jow

  • Milestone changed from Attitude Adjustment 12.09 to Barrier Breaker 14.07

Milestone Attitude Adjustment 12.09 deleted

Add Comment

Modify Ticket

Action
as new .
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.