[OpenWrt-Devel] Add support for AVM Fritzbox 7360 SL

Sebastian Ortwein kron at animeland.de
Sun May 8 04:33:03 EDT 2016


Am 07.05.2016 um 19:26 schrieb Sylwek ScApi:
> W dniu 2016-05-07 o 09:53, Martin Blumenstingl pisze:
>> On Sat, May 7, 2016 at 12:40 AM, Sebastian Ortwein<kron at animeland.de>  wrote:
>>> Hey
>>>
>>> I have tried do get openwrt working on my Fritzbox. Openwrt will start
>>> Network and VDSL Modem is working. But WLAN ist not working. The Chip is
>>> supported bei the ath9k driver. Any hint how I can get Wifi working ?
>> I see you already got most things working - see my comments inline.
I get the eeprom from the ath9k driver working, but wifi will not 
showed. First, I get a error message that from the ath9k driver that the 
eeprom couldn't load. After PCI Bus is initialize the eeprom is loaded.
..............
[    0.332504] ath9k,eeprom ath9k_eep: failed to load eeprom address
[    0.353603] usbcore: registered new interface driver usbfs
[    0.359114] usbcore: registered new interface driver hub
[    0.364465] usbcore: registered new device driver usb
[    0.369845] PCI host bridge to bus 0000:00
[    0.373843] pci_bus 0000:00: root bus resource [mem 
0x1c000000-0x1cffffff]
[    0.380756] pci_bus 0000:00: root bus resource [io 0x1d800000-0x1d8fffff]
[    0.387699] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[    0.394553] pci_bus 0000:00: No busn resource found for root bus, 
will use [bus 00-ff]
[    0.402584] pci 0000:00:00.0: [15d1:0011] type 01 class 0x060000
[    0.402621] ifx_pcie_rc_class_early_fixup: fixed pcie host bridge to 
pci-pci bridge
[    0.420266] ifx_pcie_fixup_resource: fixup host controller 
0000:00:00.0 (15d1:0011)
[    0.427855] pci 0000:00:00.0: PME# supported from D0 D3hot
[    0.428422] pci 0000:01:00.0: [168c:ff1c] type 00 class 0x020000
[    0.428512] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x0000ffff 64bit]
[    0.428665] pci 0000:01:00.0: supports D1
[    0.428686] pci 0000:01:00.0: PME# supported from D0 D1 D3hot
[    0.428975] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    0.429015] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 01
[    0.429072] pci 0000:00:00.0: BAR 8: assigned [mem 0x1c000000-0x1c0fffff]
[    0.435760] pci 0000:01:00.0: BAR 0: assigned [mem 
0x1c000000-0x1c00ffff 64bit]
[    0.443120] pci 0000:00:00.0: PCI bridge to [bus 01]
[    0.448137] pci 0000:00:00.0:   bridge window [mem 0x1c000000-0x1c0fffff]
...........
[    1.188886] found entry name -> annex=B
[    1.192650] found entry name -> maca=BC:05:43:D7:1E:7C
[    1.197738] found entry name -> macb=BC:05:43:D7:1E:7D
[    1.202875] found entry name -> macwlan=BC:05:43:D7:1E:7E
[    1.208269] found entry name -> macdsl=BC:05:43:D7:1E:7F
[    1.213632] found entry name -> macwlan2=BC:05:43:D7:1E:81
[    1.219063] found entry name -> wlan_key=4004584479108575
[    1.227509] ath9k,eeprom ath9k_eep: endian check enabled.
[    1.231483] ath9k,eeprom ath9k_eep: using random mac
[    1.236475] ath9k,eeprom ath9k_eep: loaded ath9k eeprom
[    1.246508] UBIFS error (pid: 1): cannot open "ubi0:rootfs", error -19
[    1.257496] VFS: Mounted root (squashfs filesystem) readonly on 
device 31:3.
[    1.265035] Freeing unused kernel memory: 1224K (804fe000 - 80630000)
[    2.475280] init: Console is alive
.............

As you can see OpenWrt will find the mac-adesses from all devices, how 
can I asign it in the dts file?
>>> root at OpenWrt:/# dmesg
>>> [    0.000000] Linux version 4.4.7 (sebastian at sebastian-desktop) (gcc
>>> version 5.3.0 (OpenWrt GCC 5.3.0 r49296) ) #1 Fri May 6 22:23:36 UTC 2016
>>> [    0.000000] SoC: xRX200 rev 1.1
>>> [    0.000000] bootconsole [early0] enabled
>>> [    0.000000] CPU0 revision is: 00019555 (MIPS 34Kc)
>>> [    0.000000] MIPS: machine is FRITZ7360SL - 1&1 HomeServer
>>> [    0.000000] Determined physical RAM map:
>>> [    0.000000]  memory: 08000000 @ 00000000 (usable)
>>> [    0.000000] Initrd not found or empty - disabling initrd
>>> [    0.000000] Zone ranges:
>>> [    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
>>> [    0.000000] Movable zone start for each node
>>> [    0.000000] Early memory node ranges
>>> [    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
>>> [    0.000000] Initmem setup node 0 [mem
>>> 0x0000000000000000-0x0000000007ffffff]
>>> [    0.000000] On node 0 totalpages: 32768
>>> [    0.000000] free_area_init_node: node 0, pgdat 804d6390, node_mem_map
>>> 81007a80
>>> [    0.000000]   Normal zone: 256 pages used for memmap
>>> [    0.000000]   Normal zone: 0 pages reserved
>>> [    0.000000]   Normal zone: 32768 pages, LIFO batch:7
>>> [    0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 32
>>> bytes.
>>> [    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize
>>> 32 bytes
>>> [    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
>>> [    0.000000] pcpu-alloc: [0] 0
>>> [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total
>>> pages: 32512
>>> [    0.000000] Kernel command line: console=ttyLTQ0,115200 init=/etc/preinit
>>> [    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
>>> [    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536
>>> bytes)
>>> [    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
>>> [    0.000000] Writing ErrCtl register=00064202
>>> [    0.000000] Readback ErrCtl register=00064202
>>> [    0.000000] Memory: 123376K/131072K available (3764K kernel code, 164K
>>> rwdata, 1144K rodata, 1184K init, 211K bss, 7696K reserved, 0K cma-reserved)
>>> [    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
>>> [    0.000000] NR_IRQS:256
>>> [    0.000000] CPU Clock: 500MHz
>>> [    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff,
>>> max_idle_ns: 7645041786 ns
>>> [    0.000012] sched_clock: 32 bits at 250MHz, resolution 4ns, wraps every
>>> 8589934590ns
>>> [    0.007862] Calibrating delay loop... 332.54 BogoMIPS (lpj=665088)
>>> [    0.042318] pid_max: default: 32768 minimum: 301
>>> [    0.047171] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
>>> [    0.053731] Mountpoint-cache hash table entries: 1024 (order: 0, 4096
>>> bytes)
>>> [    0.066663] clocksource: jiffies: mask: 0xffffffff max_cycles:
>>> 0xffffffff, max_idle_ns: 7645041785100000 ns
>>> [    0.076441] pinctrl core: initialized pinctrl subsystem
>>> [    0.082322] NET: Registered protocol family 16
>>> [    0.091448] pinctrl-xway 1e100b10.pinmux: Init done
>>> [    0.096999] dma-xway 1e104100.dma: Init done - hw rev: 7, ports: 7,
>>> channels: 28
>>> [ 0.206470] dcdc-xrx200 1f106a00.dcdc: Core Voltage : 1016 mV
>>> [ 0.347018] usbcore: registered new interface driver usbfs
>>> [ 0.352523] usbcore: registered new interface driver hub
>>> [ 0.357878] usbcore: registered new device driver usb
>>> [ 0.363254] PCI host bridge to bus 0000:00
>>> [ 0.367244] pci_bus 0000:00: root bus resource [mem 0x1c000000-0x1cffffff]
>>> [ 0.374158] pci_bus 0000:00: root bus resource [io 0x1d800000-0x1d8fffff]
>>> [ 0.381101] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
>>> [ 0.387957] pci_bus 0000:00: No busn resource found for root bus, will use
>>> [bus 00-ff]
>>> [ 0.395990] pci 0000:00:00.0: [15d1:0011] type 01 class 0x060000
>>> [ 0.396028] ifx_pcie_rc_class_early_fixup: fixed pcie host bridge to pci-pci
>>> bridge
>>> [ 0.413669] ifx_pcie_fixup_resource: fixup host controller 0000:00:00.0
>>> (15d1:0011)
>>> [ 0.421261] pci 0000:00:00.0: PME# supported from D0 D3hot
>>> [ 0.421831] pci 0000:01:00.0: [168c:ff1c] type 00 class 0x020000
>> ff1c means that the calibration data was not loaded yet - see
>> FRITZ3370.dts for example.
> Agreed.
>>> [ 0.421921] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x0000ffff 64bit]
>>> [ 0.422076] pci 0000:01:00.0: supports D1
>>> [ 0.422096] pci 0000:01:00.0: PME# supported from D0 D1 D3hot
>>> [ 0.422408] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
>>> [ 0.422448] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 01
>>> [ 0.422506] pci 0000:00:00.0: BAR 8: assigned [mem 0x1c000000-0x1c0fffff]
>>> [ 0.429195] pci 0000:01:00.0: BAR 0: assigned [mem 0x1c000000-0x1c00ffff
>>> 64bit]
>>> [ 0.436557] pci 0000:00:00.0: PCI bridge to [bus 01]
>>> [ 0.441574] pci 0000:00:00.0:   bridge window [mem 0x1c000000-0x1c0fffff]
>>> [ 0.448451] ifx_pcie_bios_map_irq port 0 dev 0000:00:00.0 slot 0 pin 1
>>> [ 0.455100] ifx_pcie_bios_map_irq dev 0000:00:00.0 irq 144 assigned
>>> [ 0.461453] ifx_pcie_bios_map_irq port 0 dev 0000:01:00.0 slot 0 pin 1
>>> [ 0.468120] ifx_pcie_bios_map_irq dev 0000:01:00.0 irq 144 assigned
>>> [ 0.475465] clocksource: Switched to clocksource MIPS
>>> [ 0.482104] NET: Registered protocol family 2
>>> [ 0.487318] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
>>> [ 0.494218] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
>>> [    0.500593] TCP: Hash tables configured (established 1024 bind 1024)
>>> [ 0.507105] UDP hash table entries: 256 (order: 0, 4096 bytes)
>>> [ 0.512945] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
>>> [ 0.519566] NET: Registered protocol family 1
>>> [ 0.523906] PCI: CLS 0 bytes, default 32
>>> [ 0.524343] gptu: totally 6 16-bit timers/counters
>>> [ 0.529186] gptu: misc_register on minor 63
>>> [ 0.533281] gptu: succeeded to request irq 126
>>> [ 0.537770] gptu: succeeded to request irq 127
>>> [ 0.542284] gptu: succeeded to request irq 128
>>> [ 0.546798] gptu: succeeded to request irq 129
>>> [ 0.551313] gptu: succeeded to request irq 130
>>> [ 0.555829] gptu: succeeded to request irq 131
>>> [ 0.561200] phy-xrx200 gphy-xrx200: requesting lantiq/vr9_phy11g_a1x.bin
>>> [ 0.568479] phy-xrx200 gphy-xrx200: booting GPHY0 firmware at 7940000
>>> [ 0.574822] phy-xrx200 gphy-xrx200: booting GPHY1 firmware at 7940000
>>> [ 0.682305] futex hash table entries: 256 (order: -1, 3072 bytes)
>>> [ 0.715662] squashfs: version 4.0 (2009/01/31) Phillip Lougher
>>> [ 0.721392] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME)
>>> (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
>>> [ 0.734808] io scheduler noop registered
>>> [ 0.738652] io scheduler deadline registered (default)
>>> [    0.744497] 1e100c00.serial: ttyLTQ0 at MMIO 0x1e100c00 (irq = 112,
>>> base_baud = 0) is a lantiq,asc
>>> [ 0.753399] console [ttyLTQ0] enabled
>>> [ 0.760723] bootconsole [early0] disabled
>>> [ 0.769781] lantiq nor flash device: 01000000 at 10000000
>>> [ 0.773915] ltq_nor: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer
>>> ID 0x000001 Chip ID 0x002101
>>> [ 0.783349] Amd/Fujitsu Extended Query Table at 0x0040
>>> [ 0.788476]   Amd/Fujitsu Extended Query version 1.3.
>>> [ 0.793512] number of CFI chips: 1
>>> [ 0.796942] 4 ofpart partitions found on MTD device ltq_nor
>>> [ 0.802478] Creating 4 MTD partitions on "ltq_nor":
>>> [    0.807360] 0x000000000000-0x000000020000 : "urlader"
>>> [    0.815754] 0x000000020000-0x000000f80000 : "firmware"
>>> [ 0.836761] 2 eva-fw partitions found on MTD device firmware
>>> [    0.841008] 0x000000020000-0x0000001bfa74 : "kernel"
>>> [    0.847817] 0x0000001c0100-0x000000f80000 : "rootfs"
>>> [ 0.853486] mtd: device 3 (rootfs) set to be root filesystem
>>> [ 0.857792] 1 squashfs-split partitions found on MTD device rootfs
>>> [    0.863912] 0x000000460000-0x000000f80000 : "rootfs_data"
>>> [    0.871543] 0x000000f80000-0x000000fc0000 : "tffs (1)"
>>> [    0.877447] 0x000000fc0000-0x000001000000 : "tffs (2)"
>>> [ 0.986126] libphy: lantiq,xrx200-mdio: probed
>>> [ 0.996971] eth0: attached PHY [Generic PHY] (phy_addr=0:00, irq=-1)
>>> [    1.002324] eth0: attached PHY [Generic PHY] (phy_addr=0:01, irq=-1)
>> I remember reading somewhere that there are two AR8030 10/100 PHYs.
>> I suggest you enable CONFIG_AT803X_PHY and assign the reset GPIOs to
>> these PHYs, due to a hardware bug in them (see
>> https://github.com/torvalds/linux/blob/master/drivers/net/phy/at803x.c#L351)
> If wiki is right then there are :
>
> "VDSL2, 2x LAN 1Gbit, 2x LAN 100Mbit, WLAN 802.11 b/g/n 2.4 GHz bis 
> 300 Mbit/s"
>
> I don't see any other chips on pcb.
The wiki is right. I will upload some images to the openwrt Wiki when 
the box is working.
But phy0 and phy1 works only somtimes. In my dts file I assigned the 
reset GPIO's like in the FRITZ3370.dts file.
I have take GPIO config from the AVM GPL sources. Is there anything I 
forgot orwrong in my new DTS file ?
>>> [    1.072164] eth0: attached PHY [Lantiq XWAY VR9 GPHY 11G v1.4]
>>> (phy_addr=0:11, irq=-1)
>>> [    1.140155] eth0: attached PHY [Lantiq XWAY VR9 GPHY 11G v1.4]
>>> (phy_addr=0:13, irq=-1)
>>> [    1.148042] wdt 1f8803f0.watchdog: Init done
>>> [    1.153878] NET: Registered protocol family 10
>>> [    1.162382] NET: Registered protocol family 17
>>> [    1.165538] bridge: automatic filtering via arp/ip/ip6tables has been
>>> deprecated. Update your scripts to load br_netfilter if you need this.
>>> [    1.178060] 8021q: 802.1Q VLAN Support v1.8
>>> [    1.182319] found entry name -> annex=B
>>> [    1.186088] found entry name -> maca=BC:05:43:D7:1E:7C
>>> [    1.191177] found entry name -> macb=BC:05:43:D7:1E:7D
>>> [    1.196312] found entry name -> macwlan=BC:05:43:D7:1E:7E
>>> [    1.201706] found entry name -> macdsl=BC:05:43:D7:1E:7F
>>> [    1.207069] found entry name -> macwlan2=BC:05:43:D7:1E:81
>>> [    1.212501] found entry name -> wlan_key=4004584479108575
>>> [    1.223899] UBIFS error (pid: 1): cannot open "ubi0:rootfs", error -19
>>> [    1.233871] VFS: Mounted root (squashfs filesystem) readonly on device
>>> 31:3.
>>> [    1.241380] Freeing unused kernel memory: 1184K (804f8000 - 80620000)
>>> [    2.417706] init: Console is alive
>>> [    2.420017] init: - watchdog -
>>> [    3.187559] eth0: port 1 got link
>>> [    3.974342] SCSI subsystem initialized
>>> [    3.989600] usbcore: registered new interface driver usb-storage
>>> [    3.997229] init: - preinit -
>>> [    4.510986] random: procd urandom read with 17 bits of entropy available
>>> [    7.816027] mount_root: jffs2 not ready yet, using temporary tmpfs
>>> overlay
>>> [    7.836202] procd: - early -
>>> [    7.837807] procd: - watchdog -
>>> [    8.572768] procd: - ubus -
>>> [    8.627629] procd: - init -
>>> [    9.476796] IFXOS, Version 1.5.19 (c) Copyright 2009, Lantiq Deutschland
>>> GmbH
>>> [    9.486752] NET: Registered protocol family 8
>>> [    9.489719] NET: Registered protocol family 20
>>> [    9.500912] PPP generic driver version 2.4.2
>>> [    9.511937] ip6_tables: (C) 2000-2006 Netfilter Core Team
>>> [    9.537506] Lantiq (VRX) DSL CPE MEI driver, version 1.4.8.5, (c) 2013
>>> Lantiq Deutschland GmbH
>>> [    9.537506]
>>> [    9.537506] Lantiq CPE API Driver version: DSL CPE API V4.16.6.3
>>> [    9.558430]
>>> [    9.558430] Predefined debug level: 3
>>> [    9.569131] Loading modules backported from Linux version
>>> v4.4-rc5-1913-gc8fdf68
>>> [    9.575144] Backport generated by backports.git
>>> backports-20151218-0-g2f58d9d
>>> [    9.585694] ip_tables: (C) 2000-2006 Netfilter Core Team
>>> [    9.596751] Infineon Technologies DEU driver version 2.0.0
>>> [    9.602828] IFX DEU DES initialized (multiblock).
>>> [    9.607104] IFX DEU AES initialized (multiblock).
>>> [    9.611236] IFX DEU ARC4 initialized (multiblock).
>>> [    9.615898] IFX DEU SHA1 initialized.
>>> [    9.619394] IFX DEU MD5 initialized.
>>> [    9.623068] IFX DEU SHA1_HMAC initialized.
>>> [    9.627173] IFX DEU MD5_HMAC initialized.
>>> [    9.637542] nf_conntrack version 0.5.0 (1946 buckets, 7784 max)
>>> [    9.663906] NET: Registered protocol family 24
>>> [    9.689430] xt_time: kernel timezone is -0000
>>> [   17.443364] jffs2_scan_eraseblock(): End of filesystem marker found at
>>> 0x0
>>> [   17.448921] jffs2_build_filesystem(): unlocking the mtd device... done.
>>> [   17.455397] jffs2_build_filesystem(): erasing all blocks after the end
>>> marker...
>>> [   32.627514] random: nonblocking pool is initialized
>>> [   73.855188] done.
>>> [   73.855719] jffs2: notice: (926) jffs2_build_xattr_subsystem: complete
>>> building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref
>>> (0 dead, 0 orphan) found.
>>> root at OpenWrt:/#
>> Maybe you can create a common .dtsi file for FRITZ3370 and FRITZ7360SL.
>> I haven't looked at it in detail, but AVM devices usually have a lot
>> in common when they are based on the same platform (in this case:
>> VRX200).
>>
>> One last note: I am not sure about the status of the current TFFS (the
>> MAC addresses, etc are stored there) driver and how you can use it
>> from userspace (to assign the correct MAC addresses for example). Some
>> time ago I wrote a userspace replacement for the in-kernel TFFS
>> driver, which you can find here:
>> https://github.com/xdarklight/fritz_tffs_tools
>> However, please note that my tool is basically untested!
>>
>>
>> Martin
>> _______________________________________________
>> openwrt-devel mailing list
>> openwrt-devel at lists.openwrt.org
>> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20160508/6de41955/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: FRITZ7360SL.dts
Type: audio/vnd.dts
Size: 4004 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20160508/6de41955/attachment.dts>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: avm_hw_config_hw181.h
Type: text/x-chdr
Size: 13518 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20160508/6de41955/attachment.bin>
-------------- next part --------------
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list