summaryrefslogtreecommitdiff
path: root/target/linux/lantiq/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom
Commit message (Collapse)AuthorAgeFilesLines
* lantiq: remove lantiq_board_name, use the generic function insteadFelix Fietkau2017-12-131-2/+1
| | | | | Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry picked from commit 7e798dab56546d6f8e2fe0f913ff41e8f010af51)
* lantiq: fix avm fritz box mac addressesMathias Kresin2017-05-051-6/+1
| | | | | | | | | It has been shown that the Fritz boxes have the correct mac address set in the wireless calibration data/eeeprom. Use this mac address as base for the ethernet and xdsl interface increment/decrement the address to match the values stored in the tffs. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: fix patching the wifi mac address on BTHOMEHUBV3AMartin Blumenstingl2017-02-131-1/+1
| | | | | | | | | | | | | | | | | | | The firmware hotplug script tries to read the mac address from a partition with the name "uboot-env" which does not exist (instead it's name is uboot_env). This broke calculation of the new checksum (after patching the mac address) which resulted in ath9k refusing to use the EEPROM data. The original error reported by ath9k was: PCI: Enabling device 0000:00:0e.0 (0000 -> 0002) ath: phy0: Bad EEPROM checksum 0x2523 ath: phy0: Unable to initialize hardware; initialization status: -22 ath9k 0000:00:0e.0: Failed to initialize device Fixes: a20616863d32d9 ("lantiq: use ath9k device tree bindings binding/owl-loader") Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
* lantiq: simplify ath9k eeprom extraction scriptMathias Kresin2016-12-081-11/+16
| | | | | | | | | | | Add an extra function to patch the mac and fixup the checksum afterwards. Calculate the checksum position automatically. The offset to the mac address is the same for all checksum protected EEPROMs. No EEPROM requires a byte swapped mac address. The mac byte swap code was required due to an bug in the script that is now fixed. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: fix ath9k EEPROM data swapping for some devicesMartin Blumenstingl2016-12-081-14/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The EEPROM data in the flash of the ARV7518PW, ARV8539PW22, BTHOMEHUBV2B and BTHOMEHUBV3A is stored byte-swapped (swab16), meaning that for example the ath9k base_eep_header fields "version" (high and low byte), "opCapFlags" and "eepMisc" are swapped (the latter ones are just 1 byte wide, thus their position is swapped). The old "ath,eep-endian" property enabled the corresponding swapping logic in the ath9k driver (swab16 in ath9k_hw_nvram_swap_data, which is based on the magic bytes in the EEPROM data which have nothing to do with the calibration data - thus this logic should not be used anymore). Since we have switched to the upstream ath9k devicetree bindings there is no binding anymore which enables swab16 in ath9k (as this logic is not recommended anymore as explained above), leading to ath9k initialization errors: ath: phy0: Bad EEPROM VER 0x0001 or REV 0x00e0 (this shows that the version field is swapped, expected values are VER 0x000E and REV 0x0001) Swapping the ath9k calibration data when extracting it from the flash fixes the devices listed above (all other devices do not require additional swapping, since the position of the fields is already as expected by ath9k). This allows ath9k to read the version correctly again, as well as the more important "eepmisc" field (which is used for determining whether the data inside the EEPROM is Big or Little Endian which is required to parse the EEPROM contents correctly). Fixes: a20616863d3 ("lantiq: use ath9k device tree bindings binding/owl-loader") Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
* lantiq: use BT HomeHub 5 Type A OEM partition layoutMathias Kresin2016-11-291-1/+2
| | | | | | | | | | | | | | | | | | | | This way the on nand bad block table is preserved and used. Add support for nand OOB ECC checksums as well. It should fix all reported ubi errors, which were all related to bad nand blocks and a purged on nand bad block table. The existing ubi partition will be reused, which eliminates the need to touch the caldata during initial install. The BT u-boot has support for loading a kernel from an ubi volume. It isn't necessary any longer to replace the BT u-boot with a custom compiled one to use LEDE. It is required to restore the BT Firmware and install LEDE from scratch to switch to the new partition layout. An image for restoring the BT firmware and installing LEDE is provided at https://github.com/mkresin/lede/releases. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: use ath9k device tree bindings binding/owl-loaderMartin Blumenstingl2016-11-291-0/+140
This moves the extraction of the eeprom/calibration data to a hotplug firmware script. Additionally it modifies all .dts to configure ath9k directly from within the .dts. The owl-loader approach enables support on devices with exotic eeprom data locations (such as unaligned positions on the flash or data inside an UBI volume). Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> [add ath9k caldata mac address patcher] [fixes DGN3500 wifi mac] [fixes BTHOMEHUBV3A wifi mac] [set invalid mac for BTHOMEHUB2B, FRITZ3370, FRITZ7320 & FRITZ7360SL to restore previous random mac behavior] Signed-off-by: Mathias Kresin <dev@kresin.me>