Hi,
I'm new to OpenWrt, and thought I should install it on my P-2812HNU-F1 vT which used to be branded with Telenor firmware. I didn't realize then that the vT suffix of the product name meant that it was a different hardware than the P-2812HNU-F1, so now I'm trying to figure out what's needed to get the wireless RT3092 module working.
From the stock firmware I've recovered a file, "RT3092_PCIe_LNA_2T2R_ALC_V1_2.bin" which I presume is the required eeprom to get the wireless module running.
I've also tried to figure out how to add a sub-target for the F1 vT model based on the dts file in this thread. I've been able to build a new firmware image from it and flash my device to it, but I can't get the wireless interface to load.
My dts file looks like this, but I've no idea if that is correct or not:
#include "vr9_zyxel_p-2812hnu-fx.dtsi"
/ {
compatible = "zyxel,p-2812hnu-f1vt", "zyxel,p-2812hnu-f1", "zyxel,p-2812hnu", "lantiq,xway", "lantiq,vr9";
model = "ZyXEL P-2812HNU-F1 vT";
aliases {
led-usb = &led_usb1;
led-usb2 = &led_usb2;
};
leds {
led_usb1: usb1 {
label = "green:usb1";
gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
};
led_usb2: usb2 {
label = "green:usb2";
gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
};
};
};
&localbus {
flash@0 {
compatible = "lantiq,nand-xway";
lantiq,cs = <1>;
bank-width = <2>;
reg = <0 0x0 0x2000000>;
pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>;
pinctrl-names = "default";
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x40000>;
};
partition@40000 {
label = "u-boot-env";
reg = <0x40000 0x20000>;
};
partition@60000 {
label = "kernel";
reg = <0x60000 0x300000>;
};
partition@360000 {
label = "ubi";
reg = <0x360000 0x7ca0000>;
};
};
};
};
&pci0 {
wifi@1814,3092 {
compatible = "pci1814,3092";
reg = <0x7000 0 0 0 0>;
ralink,eeprom = "RT3092.eeprom";
};
};
When running the system I get the following related to pci in the kernel log:
[ 0.220835] PCI host bridge /fpi@10000000/pci@e105400 ranges:
[ 0.303693] pci_bus 0000:00: root bus resource [mem 0x18000000-0x19ffffff]
[ 0.310601] pci_bus 0000:00: root bus resource [io 0x1ae00000-0x1affffff]
[ 0.317555] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[ 0.324384] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[ 0.334833] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[ 0.755718] pcie-xrx200 1d900000.pcie: failed to get the PCIe PHY
[ 0.953932] pcie-xrx200 1d900000.pcie: failed to request gpio 500
[ 0.958668] pcie-xrx200: probe of 1d900000.pcie failed with error -16
The stock firmware boot log contains the following:
Lantiq PCI host controller driver, version 1.2.0, (c) 2001-2011 Lantiq Deutschland GmbH
Lantiq PCIe Root Complex driver, version 1.6.5, (c) 2001-2011 Lantiq Deutschland GmbH
<< deleted lines >>
pci 0000:00:00.0: PME# supported from D1 D2
pci 0000:00:00.0: PME# disabled
ifx_pcie_rc_class_early_fixup port 0: fixed pcie host bridge to pci-pci bridge
pci 0000:01:00.0: PME# supported from D0 D3hot
pci 0000:01:00.0: PME# disabled
pci 0000:01:00.0: PCI bridge, secondary bus 0000:02
pci 0000:01:00.0: IO window: disabled
pci 0000:01:00.0: MEM window: 0x1c000000-0x1c0fffff
pci 0000:01:00.0: PREFETCH window: disabled
<< deleted lines >>
=== pAd = c0ca7000, size = 617584 ===
<-- RTMPAllocAdapterBlock, Status=0
device_id=3092
device_id=3092
RX DESC a3c5c000 size = 2048
<-- RTMPAllocTxRxRingMemory, Status=0
1. Phy Mode = 9
2. Phy Mode = 9
3. Phy Mode = 9
e[mAntCfgInit: primary/secondary ant 0/1
e[mMCS Set = ff ff 00 00 01
Main bssid = 2a:28:5d:39:79:2c
<==== rt28xx_init, Status=0
0x1300 = 00064320
/proc/driver/wlan_short_cut created
Init RALINK_FP_Handle
device ra0 entered promiscuous mode
br0: port 2(ra0) entering learning state
device ra1 entered promiscuous mode
device ra2 entered promiscuous mode
device ra3 entered promiscuous mode
Remove RALINK_FP_Handle
/proc/driver/wlan_short_cut removed
br0: port 2(ra0) entering disabled state
RX DESC a3c5c000 size = 2048
<-- RTMPAllocTxRxRingMemory, Status=0
1. Phy Mode = 9
2. Phy Mode = 9
3. Phy Mode = 9
e[mAntCfgInit: primary/secondary ant 0/1
e[mMCS Set = ff ff 00 00 01
Main bssid = 2a:28:5d:39:79:2c
<==== rt28xx_init, Status=0
0x1300 = 00064320
/proc/driver/wlan_short_cut created
Does anyone have any suggestions on how to debug this further, or maybe even know how to solve it?
I'm considering if I should try to hack the original firmware backup to give me root access, and then restore that to the device, but I'd rather run OpenWrt if I can get it running.