Hello :), I'm new to OpenWrt
I have an Inseego FG2000 device and am trying to add support for it in OpenWRT.
Model | Version | CPU | CPU MHz | CPU Cores_numcores | Flash MB | RAM MB | WLAN Hardware | WLAN 2.4GHz | WLAN 5.0GHz | RJ11 | Ethernet 1Gbit ports(QCA8075) | Ethernet 5Gbit ports(AQR108) | Modem | USB ports |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Inseego-fg2000 | SRT860H_v2.0/2.1 | Qualcomm IPQ8072A | 2200 | 4 | 8 8MB NOR, 4GB eMMC | 1024 DDR4 | Qualcomm QCN5024, Qualcomm QCN5054 | b/g/n/ax | a/n/ac/ax | 1 | 3 | 1 | - | 1x 3.0,1x 2.0 |
I have successfully dumped the device's flash, which can be accessed via the link. The OEM firmware is based on QSDK, using Linux-4.4.60 and built upon OpenWrt 15.
The firmware I have compiled has the following issues:
- All Ethernet ports are not working properly—the Ethernet corresponding to aqr108 isn't even shown in the ip addr show command.
- Wi-Fi is not functioning correctly.
- The root file system cannot be found.
OEM bootlog
qnap_301w-initramfs bootlog
According to what I compiled and evaluated when writing the device tree firmware initramfs bootlog
OEM extract dts
I copied the configuration written by qnap301 dts
uboot printenv
baudrate=115200
bootargs=console=ttyMSM0,115200n8
bootcmd=aq_load_fw&&bootipq
bootdelay=2
eth2addr=0:ff:ff:ff:ff:ff
ethact=eth0
ethaddr=32:38:38:30:41:32
fdt_high=0x4A400000
fdtcontroladdr=4a9709c0
flash_type=8
gatewayip=192.168.0.1
ipaddr=192.168.1.1
machid=8010008
netmask=255.255.255.0
serverip=192.168.1.10
soc_version_major=2
soc_version_minor=0
stderr=serial@78B3000
stdin=serial@78B3000
stdout=serial@78B3000
Environment size: 457/65532 bytes
uboot mmc part
Partition Map for MMC device 0 -- Partition Type: EFI
Part Start LBA End LBA Name
Attributes
Type GUID
Partition GUID
1 0x00000022 0x00003021 "0:HLOS"
attrs: 0x0000000000000000
type: b51f2982-3ebe-46de-8721-ee641e1f9997
guid: 0927785f-b9b1-904e-2113-ee2e36153a46
2 0x00003022 0x00006021 "0:HLOS_1"
attrs: 0x0000000000000000
type: a71da577-7f81-4626-b4a2-e377f9174525
guid: b929f081-3360-e5ba-35dd-724185242c8a
3 0x00006022 0x00046021 "rootfs"
attrs: 0x0000000000000000
type: 98d2248d-7140-449f-a954-39d67bd6c3b4
guid: 2a694f92-5d0e-3938-d9f8-634eca81848d
4 0x00046022 0x00048021 "0:WIFIFW"
attrs: 0x0000000000000000
type: 5911fd72-35be-424e-975d-69c957ad3a43
guid: 0fe07bc7-9839-c9d3-882b-3a0b987c0ccd
5 0x00048022 0x00088021 "rootfs_1"
attrs: 0x0000000000000000
type: 5647b280-dc2a-485d-9913-cf53ac40fa32
guid: b68d7f34-87c4-9787-95e5-72fdcaaf3105
6 0x00088022 0x0008a021 "0:WIFIFW_1"
attrs: 0x0000000000000000
type: a640a4e3-6aeb-4d83-81a0-dfeae6b7d1a5
guid: bcaecc40-e1a2-e294-dcee-48c8495099a4
7 0x0008a022 0x0010a021 "rootfs_data"
attrs: 0x0000000000000000
type: ab1760da-a8bb-4d6f-98d2-9ad3ab9009cd
guid: c0078633-ac62-7730-cfb9-0406d121dc83
8 0x0010a022 0x0014a021 "factory"
attrs: 0x0000000000000000
type: 4e2e2f3a-fca9-4797-a903-50b044a6f219
guid: 04c26b41-dfcc-0618-cc61-19de5605cfd9
9 0x0014a022 0x0034a021 "fota"
attrs: 0x0000000000000000
type: 13a2f67c-8b63-4ba3-9cb3-7538d684f1e9
guid: da11f343-036a-01c5-9b20-afb5bc8c6e47
10 0x0034a022 0x006fa021 "docker"
attrs: 0x0000000000000000
type: 62782669-ef28-4ff3-b7cc-4a2bcb2cf8a3
guid: 6e0530cf-3199-49c3-58eb-8afaa261177a
cat /proc/mtd
dev: size erasesize name
mtd0: 00050000 00010000 "0:SBL1"
mtd1: 00010000 00010000 "0:MIBIB"
mtd2: 00020000 00010000 "0:BOOTCONFIG"
mtd3: 00020000 00010000 "0:BOOTCONFIG1"
mtd4: 00180000 00010000 "0:QSEE_1"
mtd5: 00180000 00010000 "0:QSEE"
mtd6: 00010000 00010000 "0:DEVCFG_1"
mtd7: 00010000 00010000 "0:DEVCFG"
mtd8: 00010000 00010000 "0:APDP"
mtd9: 00010000 00010000 "0:APDP_1"
mtd10: 00040000 00010000 "0:RPM_1"
mtd11: 00040000 00010000 "0:RPM"
mtd12: 00010000 00010000 "0:CDT_1"
mtd13: 00010000 00010000 "0:CDT"
mtd14: 00010000 00010000 "0:APPSBLENV"
mtd15: 000a0000 00010000 "0:APPSBL_1"
mtd16: 000a0000 00010000 "0:APPSBL"
mtd17: 00040000 00010000 "0:ART"
mtd18: 00080000 00010000 "0:ETHPHYFW"
cat /proc/partitions
major minor #blocks name
1 0 4096 ram0
1 1 4096 ram1
1 2 4096 ram2
1 3 4096 ram3
1 4 4096 ram4
1 5 4096 ram5
1 6 4096 ram6
1 7 4096 ram7
1 8 4096 ram8
1 9 4096 ram9
1 10 4096 ram10
1 11 4096 ram11
1 12 4096 ram12
1 13 4096 ram13
1 14 4096 ram14
1 15 4096 ram15
31 0 320 mtdblock0
31 1 64 mtdblock1
31 2 128 mtdblock2
31 3 128 mtdblock3
31 4 1536 mtdblock4
31 5 1536 mtdblock5
31 6 64 mtdblock6
31 7 64 mtdblock7
31 8 64 mtdblock8
31 9 64 mtdblock9
31 10 256 mtdblock10
31 11 256 mtdblock11
31 12 64 mtdblock12
31 13 64 mtdblock13
31 14 64 mtdblock14
31 15 640 mtdblock15
31 16 640 mtdblock16
31 17 256 mtdblock17
31 18 512 mtdblock18
179 0 3817472 mmcblk0
179 1 6144 mmcblk0p1
179 2 6144 mmcblk0p2
179 3 131072 mmcblk0p3
179 4 4096 mmcblk0p4
179 5 131072 mmcblk0p5
179 6 4096 mmcblk0p6
179 7 262144 mmcblk0p7
179 8 131072 mmcblk0p8
179 9 1048576 mmcblk0p9
179 10 1933312 mmcblk0p10
179 32 512 mmcblk0rpmb
root@Chimay:/# cat /proc/mtd
dev: size erasesize name
mtd0: 00050000 00010000 "0:SBL1"
mtd1: 00010000 00010000 "0:MIBIB"
mtd2: 00020000 00010000 "0:BOOTCONFIG"
mtd3: 00020000 00010000 "0:BOOTCONFIG1"
mtd4: 00180000 00010000 "0:QSEE_1"
mtd5: 00180000 00010000 "0:QSEE"
mtd6: 00010000 00010000 "0:DEVCFG_1"
mtd7: 00010000 00010000 "0:DEVCFG"
mtd8: 00010000 00010000 "0:APDP"
mtd9: 00010000 00010000 "0:APDP_1"
mtd10: 00040000 00010000 "0:RPM_1"
mtd11: 00040000 00010000 "0:RPM"
mtd12: 00010000 00010000 "0:CDT_1"
mtd13: 00010000 00010000 "0:CDT"
mtd14: 00010000 00010000 "0:APPSBLENV"
mtd15: 000a0000 00010000 "0:APPSBL_1"
mtd16: 000a0000 00010000 "0:APPSBL"
mtd17: 00040000 00010000 "0:ART"
mtd18: 00080000 00010000 "0:ETHPHYFW"
uboot help
? - alias for 'help'
aq_load_fw- LOAD aq-fw-binary
aq_phy_restart- Restart Aquantia phy
base - print or set address offset
bdinfo - print Board Info structure
bootipq - bootipq from flash device
bootm - boot application image from memory
bootp - boot image via network using BOOTP/TFTP protocol
bootz - boot Linux zImage image from memory
canary - test stack canary
chpart - change active partition
cmp - memory compare
cp - memory copy
crc32 - checksum calculation
dcache - enable or disable data cache
dhcp - boot image via network using DHCP/TFTP protocol
dm - Driver model low level access
echo - echo args to console
env - environment handling commands
erase - erase FLASH memory
exectzt - execute TZT
exit - exit script
false - do nothing, unsuccessfully
fdt - flattened device tree utility commands
flash - flash part_name
flash part_name load_addr file_size
flasherase- flerase part_name
flinfo - print FLASH memory information
fuseipq - fuse QFPROM registers from memory
go - start application at address 'addr'
help - print command description/usage
i2c - I2C sub-system
icache - enable or disable instruction cache
imxtract- extract a part of a multi-image
ipq_mdio- IPQ mdio utility commands
is_sec_boot_enabled- check secure boot fuse is enabled or not
itest - return true/false on integer compare
loop - infinite loop on address range
md - memory display
mii - MII utility commands
mm - memory modify (auto-incrementing address)
mmc - MMC sub system
mmcinfo - display MMC info
mtdparts- define flash/nand partitions
mtest - simple RAM read/write test
mw - memory write (fill)
nand - NAND sub-system
nboot - boot from NAND device
nm - memory modify (constant address)
pci - list and access PCI Configuration Space
ping - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
protect - enable or disable FLASH write protection
reset - Perform RESET of the CPU
run - run commands in an environment variable
runmulticore- Enable and schedule secondary cores
saveenv - save environment variables to persistent storage
secure_authenticate- authenticate the signed image
setenv - set environment variables
sf - SPI flash sub-system
showvar - print local hushshell variables
sleep - delay execution for some time
smeminfo- print SMEM FLASH information
source - run script from memory
test - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
tftpput - TFTP put command, for uploading files to a server
true - do nothing, successfully
uart - UART sub-system
ubi - ubi commands
usb - USB sub-system
usbboot - boot from USB device
version - print monitor, compiler and linker version
I would greatly appreciate any guidance, suggestions, or contributions from the community to help integrate this device into OpenWRT.