[OpenWrt-Devel] [PATCH] ath79: add support for ZyXEL NWA1123-NI

'Patrick Supper' openwrt.dev at krtzbrtz.org
Mon Oct 28 16:17:50 EDT 2019


Hello,

>> ### Regarding the cal-data of the pcie-wifi (AR9382):
>> It seems to me it has some kind of EEPROM, from OEM-BootLog:
>> wmac-wifi: "Using Cal data from Flash 0xbfff0000"
> 
> Note that you are currently using art 0x1000, so 0xff1000 inside flash?!
> 

ART-Partition starts at 0xff0000 in flash. Cal-data starts at 0xff1000 
if i got it right.

OEM-Firmware uses OpenWrt but proprietary Atheros-Drivers, to be honest 
i don't know what they really do, but i guess they use a offset of 
0x1000 from start of art for cal-data?

# OEM-Firmware, art (MAC-Addr changed):
/ # hexdump /dev/mtd7
0000000 0030 ab11 20e1 ffff ffff ffff ffff ffff
0000010 ffff ffff ffff ffff ffff ffff ffff ffff
*
0001000 0202 0011 2233 4455 0030 3a62 323a 6463
0001010 ...


>> How shall we proceed with this? Keep the current solution (with the risk
>> that some users maybe end up with wrong MAC-addresses)? Or extend
>> mtd_get_mac_ascii with an option for white-space as a field separator
>> (or create a new function) and set the MAC address in
>> /etc/board.d/02_network + /etc/hotplug.d/firmware/10-ath9k-eeprom?
> 
> Thanks for the extensive answer.
> 
> I'm not 100 % convinced about it, but to me using the strings seems to be the most proper solution in this context.
> 
> I'm a little surprised about your strings output. As I understand it, the separator is determined by the strings function, and not by the data read (I'm not an expert.)?
> 
> Maybe they use some special space characters in the data which can be converted by tr "X" "\n" or some other simple solution?
> 


 From man-page ("normal" strings, not the BusyBox):
"strings prints the printable character sequences that are at least 4 
characters long (or the number given with the options below) and are 
followed by an unprintable character."

In the case of for example u-boot-env the separation between the various 
"key=value" is 0x00, which is "Null" and not a printable character.

In the case of the mib0-partition it uses normal white space (0x20) as 
separator (=printable), that's why mtd_get_mac_ascii does not give the 
expected result.

But it works with replacing the space with newline:
tr ' ' '\n'

What if we set the MAC-Addresses manually in the u-boot-env and take 
them from there? (uboot-env needs to be changed anyway for setting the 
new address for bootm; so at the moment it is just an other step for the 
Install/Flash-Instructions)

Regards,
Patrick

_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list