[OpenWrt-Devel] Add support for AVM Fritzbox 7360 SL
Martin Blumenstingl
martin.blumenstingl at googlemail.com
Sat May 7 03:53:51 EDT 2016
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.
> 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.
> [ 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)
> [ 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
More information about the openwrt-devel
mailing list