Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
| inbox:toh:tp-link:x80-5g_v1 [2024/04/06 06:55] – [Info] professor_jonny | inbox:toh:tp-link:x80-5g_v1 [2024/08/13 00:34] – [Installing OpenWrt factory.ubi part 2 of 2] professor_jonny | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== TP-Link X80-5G V1====== | ====== TP-Link X80-5G V1====== | ||
| ~~NOTOC~~ | ~~NOTOC~~ | ||
| + | |||
| + | {{ media: | ||
| + | |||
| /* This template is intended to be used via https:// | /* This template is intended to be used via https:// | ||
| - | {{page> | + | The TP-Link Deco X80-5G is a dual port router with a built in 5g modem and a phone port. |
| - | //The TP-Link Deco X80-5G is a two port router with a built in 5g modem and a phone port. | + | * Dual-Band Wi-Fi 6. |
| - | It has AX6000 | + | * Dual Eithernet ports 1× 2.5 Gbps port and 1× Gigabit |
| - | The Deco X80-5G Gigabit has 1× 2.5 Gbps port and 1× Gigabit | + | |
| - | VoLTE/VoIP Support.. | + | * Based on the Qualcomm IPQ8074A SoC, AP-HK01-C1 reference design. |
| - | It is based on the Qualcomm IPQ8074A SoC, AP-HK01-C1 reference design. | + | * 5G mm wave Modem based on the Snapdragon X55 5G Modem-RF System with theoretical 10 Gbps Peak download and 3.5 Gbps peak upload speeds. |
| - | // | + | * Dual firmware with U-boot HTTP based recovery. |
| + | |||
| + | |||
| + | Manufacture info: | ||
| + | |||
| + | https://www.tp-link.com/ | ||
| + | |||
| + | https:// | ||
| + | |||
| + | https:// | ||
| + | |||
| + | GPL source: | ||
| + | |||
| + | https:// | ||
| + | |||
| + | https:// | ||
| /*****/ | /*****/ | ||
| Line 17: | Line 35: | ||
| /*****/ | /*****/ | ||
| - | {{ media: | + | |
| Line 25: | Line 44: | ||
| - | /*** if info available: uncomment and fill in | + | |
| ===== Supporting activities ===== | ===== Supporting activities ===== | ||
| - | //Describe if there are any ongoing activities that might lead to OpenWrt support.// | ||
| - | * OpenWrt forum thread: (add link) | + | * OpenWrt forum thread: (https:// |
| - | ***/ | + | * WIP Private Git hub branch: (https:// |
| + | |||
| - | /*** if info available: uncomment and fill in | ||
| ===== Experimental firmware ===== | ===== Experimental firmware ===== | ||
| - | //List experimental firmware download links here.// | ||
| - | //None at this time.// | + | * Initramfs Test Image: (https://github.com/professor-jonny/images/ |
| + | * factory | ||
| - | * External image (add link) | ||
| - | * trunk image (add link) | ||
| - | * ... | ||
| - | ***/ | ||
| ===== Hardware highlights ===== | ===== Hardware highlights ===== | ||
| - | ^ CPU ^ Ram ^ Flash ^ Network | + | ^ CPU ^ Ram (DDR3) |
| - | | IPQ8074A @2.2ghz, SoC Version: 2.0 | + | | IPQ8074A @2.2ghz |
| - | /*** if info available: uncomment and fill in | ||
| ===== Installation ===== | ===== Installation ===== | ||
| - → [[: | - → [[: | ||
| Line 57: | Line 73: | ||
| - → [[: | - → [[: | ||
| - | ==== Installing OpenWrt ==== | + | ==== Installing initramfs image part 1 of 2==== |
| - | ***/ | + | |
| + | |||
| + | - Download and copy the initramfs image to your PC's TFTP server folder. | ||
| + | - connect up your serial port and set up a connection with a terminal program such as SmarTTY | ||
| + | - Plug the router into your computer using an ethernet cable | ||
| + | - set your pc's IP address to the below settings: | ||
| + | - static 192.168.1.2. | ||
| + | - power the router and quickly type the magic string " | ||
| + | - in the shell set the environment variables to enable tftpbooting | ||
| + | - setenv ipaddr 192.168.1.1 | ||
| + | - setenv serverip 192.168.1.2 | ||
| + | - In the shell run the below command to initiate the image transfer: | ||
| + | - this will load your image to memory as location 044000000 in ram | ||
| + | - tftpboot 0x44000000 192.168.1.2: | ||
| + | - your image will now upload to your ram ready to boot. | ||
| + | - run (bootm) and your image will now load. | ||
| + | |||
| + | ==== Installing OpenWrt | ||
| + | |||
| + | - Download a copy of the factory.ubi to your pc | ||
| + | - set up a ssh/scp session to your router with a program such as SmarTTY. | ||
| + | - upload the factory.ubi to /tmp on your router | ||
| + | - in the console run the below command: | ||
| + | - ubiformat /dev/mtd12 -y -f / | ||
| + | - wait for it to complete and reboot your router. | ||
| - | /*** if info available: uncomment and fill in | ||
| ===== Debricking ===== | ===== Debricking ===== | ||
| - | -> [[docs:guide-user:troubleshooting:generic.debrick]] | + | The Deco X80-5G has HTTP Uboot Method for recovering the device. |
| - | ***/ | + | The official |
| + | |||
| + | Firstly download your firmware to your PC | ||
| + | Set a static IP address and netmask of 192.168.0.2/255.255.255.0 on your Ethernet port on your PC. | ||
| + | |||
| + | Connect the PC directly to the ethernet port of the Deco unit. | ||
| + | |||
| + | Use a pin/pen to press and hold the reset button and plug power into the device. | ||
| + | On the PC, access http:// | ||
| + | Select your previously downloaded firmware and recovery will start. | ||
| + | After a while your device will reboot, and it will be back to stock. | ||
| - | /*** if info available: uncomment and fill in | ||
| ===== Failsafe mode ===== | ===== Failsafe mode ===== | ||
| - | -> [[docs:guide-user:troubleshooting: | + | Failsafe mode can be invoked by halting the boot process from a serial connection. |
| - | ***/ | + | |
| + | Firstly connect a serial device and set up a connection. | ||
| + | Watch the boot log waiting for the Failsafe prompt and press f and then enter | ||
| + | you will be presented with the below: | ||
| + | |||
| + | <code> | ||
| + | ================= FAILSAFE MODE active ================ | ||
| + | special commands: | ||
| + | * firstboot | ||
| + | * mount_root | ||
| + | |||
| + | after mount_root: | ||
| + | * passwd | ||
| + | * /etc/ | ||
| + | |||
| + | for more help see: | ||
| + | http:// | ||
| + | </ | ||
| Line 96: | Line 162: | ||
| - | /*** if info available: uncomment and fill in | + | |
| ==== Buttons ==== | ==== Buttons ==== | ||
| - | -> [[docs: | ||
| - | Here, we merely name the buttons, so we can use them in the above Howto. | ||
| - | |||
| <WRAP BOX 600px> | <WRAP BOX 600px> | ||
| - | FIXME Please fill in real values for this device, then remove the EXAMPLEs and the WRAP that encloses this text. | + | |
| The TP-Link X80-5G has the following buttons: | The TP-Link X80-5G has the following buttons: | ||
| ^ BUTTON | ^ BUTTON | ||
| - | | EXAMPLE | + | | Reset | reset/ recover |
| - | | EXAMPLE Secure Easy Setup | | + | |
| - | | EXAMPLE No buttons at all. | + | |
| </ | </ | ||
| - | ***/ | + | |
| ===== Hardware ===== | ===== Hardware ===== | ||
| ==== Info ==== | ==== Info ==== | ||
| - | ^ Architecture | + | ^ Architecture |
| - | ^ Vendor | + | ^ Vendor |
| - | ^ Bootloader | + | ^ Bootloader |
| - | ^ System-On-Chip | + | ^ System-On-Chip |
| - | ^ CPU/ | + | ^ CPU/ |
| - | ^ Flash-Chip | + | ^ Flash-Chip |
| - | ^ Flash size | + | ^ Flash MB |
| - | ^ RAM | + | ^ RAM-chip |
| - | ^ Wireless | + | ^ RAM MB |
| - | ^ Ethernet | + | ^ WLan System-On-Chip (5g) | Qualcomm QCN5054 |
| - | ^ Switch | + | ^ WLan Front end modules (5g) | 8* Qorvo QPF4588 |
| - | ^ Serial | + | ^ WLAN (5G) | A/ |
| - | ^ modem | + | ^ WLAN Antenna (int) | 8* (4 shared with 2.5G) |
| - | + | ^ WLan System-On-Chip (2.4G) | |
| - | + | ^ WLan Front end modules | |
| - | /*** if info available: uncomment and fill in | + | ^ WLAN (2.4G) |
| + | ^ WLAN Antenna (int) | 4* (shared with 5g) | | ||
| + | ^ Eithernet-phy | ||
| + | ^ Ethernet (1Gbit) | ||
| + | ^ Eithernet-phy (2.5Gbit) | ||
| + | ^ Ethernet (2.5Gbit) | ||
| + | ^ Switch | ||
| + | ^ Serial | ||
| + | ^ Modem System-On-Chip | ||
| + | ^ 5G modem capability | ||
| + | ^ 5G modem bands | N1/ | ||
| + | ^ 4G modem capability | ||
| + | ^ 4G modem FDD bands | B1/ | ||
| + | ^ 4G modem TDD bands | B34/B38/ | ||
| + | ^ Modem antenna (int) | 8* (5G/4G use) | | ||
| + | ^ Modem antenna (ext) | 2* SMA connectors (5G/4G use) | | ||
| + | ^ SIM type | 1* Nano SIM | | ||
| + | ^ Telephony | ||
| ==== Flash Layout ==== | ==== Flash Layout ==== | ||
| - | <WRAP BOX> | + | <code> |
| - | FIXME //[[:docs:techref:flash.layout# | + | dev: |
| - | + | mtd0: 00100000 00020000 "0:SBL1" | |
| - | Please check out the article [[docs:techref:flash.layout|Flash layout]]. It contains examples and explanations that describe how to document the flash layout. | + | mtd1: 00100000 00020000 "0:MIBIB" |
| - | </WRAP> | + | mtd2: 00080000 00020000 " |
| - | ***/ | + | mtd3: 00080000 00020000 "0:BOOTCONFIG1" |
| + | mtd4: 00300000 00020000 " | ||
| + | mtd5: 00080000 00020000 " | ||
| + | mtd6: 00080000 00020000 " | ||
| + | mtd7: 00080000 00020000 " | ||
| + | mtd8: 00080000 00020000 " | ||
| + | mtd9: 00180000 00020000 " | ||
| + | mtd10: 00200000 00020000 " | ||
| + | mtd11: 00080000 00020000 " | ||
| + | mtd12: 02a00000 00020000 " | ||
| + | mtd13: 02a00000 00020000 " | ||
| + | mtd14: 00080000 00020000 " | ||
| + | mtd15: 00900000 00020000 " | ||
| + | mtd16: 01100000 00020000 " | ||
| + | mtd17: 00573000 0001f000 " | ||
| + | mtd18: 01341000 0001f000 " | ||
| + | </code> | ||
| Line 147: | Line 241: | ||
| /* Thanks, your wiki administration - Oct. 2015 */ | /* Thanks, your wiki administration - Oct. 2015 */ | ||
| - | **Insert photo of front of the casing** | + | **Back ports** |
| - | **Insert photo of back of the casing** | + | {{: |
| - | **Insert photo of backside | + | **Bottom and label** |
| + | |||
| + | {{: | ||
| + | |||
| + | **PCB' | ||
| + | |||
| + | {{: | ||
| + | {{: | ||
| + | {{: | ||
| + | {{: | ||
| - | **Insert photo of PCB** | ||
| ==== Opening the case ==== | ==== Opening the case ==== | ||
| - | <WRAP BOX> | ||
| - | It has a top cover you pry off to see the fan which exposes four screws two for each clam shell o part of the case. | ||
| - | Underneath it has four rubber feet with screws beneath. | ||
| - | with all 8 screws removed you may split off both sides of the shell. | ||
| - | in the side of the shell with the RGB info LED it has a small PCB with a harness with a push in connector that needs removing on the bottom of the device. | ||
| - | at this point you have enough to expose the serial UART and I really would not recommend you proceed any further. | ||
| - | to completely disassemble the device, one must unsolder at least one of the two antennas labeled 1 and 2 and slide the pcb up from the top fan assembly. | + | It has a top cover you pry off to see the fan which exposes four screws two for each clam shell o part of the case. |
| - | behind | + | Underneath it has four rubber feet with screws beneath I just forced my screw-driver through the rubber pad to save removing them. |
| + | With all 8 screws removed you may split off both sides of the shell. | ||
| + | On the side of the shell with the RGB info LED it has a small PCB with a harness with a push in connector that needs removing on the bottom of the device before separating. | ||
| + | At this point you have enough to expose the serial UART and I really would not recommend you proceed any further. | ||
| + | To completely disassemble the device, one must unsolder at least one of the two antennas labeled 1 and 2 and slide the PCB up from the top fan assembly. | ||
| + | | ||
| + | once the fan assembly is lifted up you can unplug the fan connector to remove it. | ||
| + | You then can start to separate the two PCB's of the device there is there is 14 IPEX/ U.FL connectors 8 for the WIFI and 8 for the LTE, They are all labeled on the PCB and the antennas. | ||
| + | All the U.Fl cables are secured with spring clips and tape and plastic hooks I'd recommend you take pictures as it was a pain to work out how to route them to get it together again. | ||
| + | With all the antenna connectors unplugged you can then remove the screws holding the heatsinks PCB's and antenna Frames. | ||
| + | NOTE all the screws are of different lengths make sure to note their location for reassembly. | ||
| + | Separating the two halves this will expose the bottom 2 cover screws to remove the base. | ||
| - | You then can start to separate the two PCB's of the device there is there is 14 IPEX/ U.FL connectors that are labeled on the pcb and the fan connector you need to remove all of them to separate the two halves. | ||
| - | all the U.Fl cables are secured with spring clips and tape and plastic hooks I'd recommend you take pictures as it was a pain to work out how to route them to get it together again. | ||
| - | un sandwiching the two halves this will expose the bottom 2 cover screws to remove the base. | ||
| - | </ | ||
| ==== Serial ==== | ==== Serial ==== | ||
| - | |||
| <WRAP BOX> | <WRAP BOX> | ||
| - | Between antennas 7 and 8 on the PCB with the RGB harness there are three test pads labeled TP1 TP2 and TP3 | + | Between antennas 7 and 8 on the PCB with the RGB harness there are three test pads labeled TP1 TP2 and TP3. |
| - | Ground | + | I soldered a standard pin header to the test pads but be aware it is very fragile and would be easy to rip them off by accident but seems sturdy with TP3 being on a ground plane. |
| - | RX is (TP2) | + | |
| - | TX is (TP1) | + | |
| + | {{: | ||
| + | |||
| + | Green is Ground | ||
| + | Yellow | ||
| + | Orange | ||
| + | |||
| + | < | ||
| + | R (~5k Ohms) | ||
| + | / | ||
| + | ----------- | ||
| + | |TP2|---RX----ora--+----------- TX-----| | ||
| + | |TP1|---TX----yel-------------- RX-----| | ||
| + | |TP3|---GND---gre-------------- GND----| | ||
| + | ----------- | ||
| + | </ | ||
| </ | </ | ||
| - | ^ Serial connection parameters\\ for TP-Link X80-5G V1 | 115200, 8N1, 1.8V | | + | ^ Serial connection parameters\\ for TP-Link X80-5G V1 | 115200, 8N1, 1.8V |
| + | ^ Uboot Magic string\\ (password) | tpl (enter) | ||
| ==== JTAG ==== | ==== JTAG ==== | ||
| Line 2382: | Line 2500: | ||
| ==== OpenWrt bootlog ==== | ==== OpenWrt bootlog ==== | ||
| <WRAP bootlog> | <WRAP bootlog> | ||
| - | < | + | < |
| + | Format: Log Type - Time(microsec) - Message - Optional Info | ||
| + | Log Type: B - Since Boot(Power On Reset), | ||
| + | S - QC_IMAGE_VERSION_STRING=BOOT.BF.3.3.1-00158 | ||
| + | S - IMAGE_VARIANT_STRING=HAACANAZA | ||
| + | S - OEM_IMAGE_VERSION_STRING=CRM | ||
| + | S - Boot Config, 0x000002e5 | ||
| + | B - 201 - PBL, Start | ||
| + | B - 2736 - bootable_media_detect_entry, | ||
| + | B - 3443 - bootable_media_detect_success, | ||
| + | B - 3448 - elf_loader_entry, | ||
| + | B - 6114 - auth_hash_seg_entry, | ||
| + | B - 6357 - auth_hash_seg_exit, | ||
| + | B - 68340 - elf_segs_hash_verify_entry, | ||
| + | B - 131183 - PBL, End | ||
| + | B - 217617 - SBL1, Start | ||
| + | B - 296917 - GCC [RstStat: | ||
| + | B - 306799 - pm_device_init, | ||
| + | B - 489891 - PM_SET_VAL: | ||
| + | D - 181170 - pm_device_init, | ||
| + | B - 492300 - pm_driver_init, | ||
| + | D - 5368 - pm_driver_init, | ||
| + | B - 498675 - clock_init, Start | ||
| + | D - 2135 - clock_init, Delta | ||
| + | B - 502609 - boot_flash_init, | ||
| + | D - 12566 - boot_flash_init, | ||
| + | B - 518957 - boot_config_data_table_init, | ||
| + | D - 3111 - boot_config_data_table_init, | ||
| + | B - 526460 - Boot Setting : 0x00000618 | ||
| + | B - 530364 - CDT version: | ||
| + | type:0 | ||
| + | B - 537288 - sbl1_ddr_set_params, | ||
| + | B - 541100 - CPR configuration: | ||
| + | B - 544455 - cpr_init, Start | ||
| + | B - 547353 - Rail:0 Mode: 5 Voltage: 792000 | ||
| + | B - 552446 - CL CPR settled at 744000mV | ||
| + | B - 555283 - Rail:1 Mode: 5 Voltage: 880000 | ||
| + | B - 559553 - Rail:1 Mode: 7 Voltage: 888000 | ||
| + | D - 16531 - cpr_init, Delta | ||
| + | B - 566354 - Pre_DDR_clock_init, | ||
| + | B - 570472 - Pre_DDR_clock_init, | ||
| + | B - 573766 - DDR Type : PCDDR3 | ||
| + | B - 579500 - do ddr sanity test, Start | ||
| + | D - 1067 - do ddr sanity test, Delta | ||
| + | B - 584258 - DDR: Start of HAL DDR Boot Training | ||
| + | B - 588985 - DDR: End of HAL DDR Boot Training | ||
| + | B - 594689 - DDR: Checksum to be stored on flash is 1377291785 | ||
| + | B - 604998 - Image Load, Start | ||
| + | D - 224358 - QSEE Image Loaded, Delta - (1376448 Bytes) | ||
| + | B - 829447 - Image Load, Start | ||
| + | D - 61 - SEC Image Loaded, Delta - (0 Bytes) | ||
| + | B - 837133 - Image Load, Start | ||
| + | D - 10706 - DEVCFG Image Loaded, Delta - (26008 Bytes) | ||
| + | B - 847930 - Image Load, Start | ||
| + | D - 22021 - RPM Image Loaded, Delta - (86584 Bytes) | ||
| + | B - 870043 - Image Load, Start | ||
| + | D - 108915 - APPSBL Image Loaded, Delta - (672668 Bytes) | ||
| + | B - 979111 - QSEE Execution, Start | ||
| + | D - 91 - QSEE Execution, Delta | ||
| + | B - 984906 - USB D+ check, Start | ||
| + | D - 0 - USB D+ check, Delta | ||
| + | B - 991280 - SBL1, End | ||
| + | D - 775981 - SBL1, Delta | ||
| + | S - Flash Throughput, 6744 KB/s (2162955 Bytes, | ||
| + | S - DDR Frequency, 466 MHz | ||
| + | S - Core 0 Frequency, 1651 MHz | ||
| + | |||
| + | |||
| + | U-Boot 2016.01 (Feb 25 2021 - 20:16:45 +0800) | ||
| + | |||
| + | DRAM: smem ram ptable found: ver: 1 len: 4 | ||
| + | 1 GiB | ||
| + | NAND: Could not find nand_gpio in dts, using defaults | ||
| + | ONFI device found | ||
| + | ID = 158061c8 | ||
| + | Vendor = c8 | ||
| + | Device = 61 | ||
| + | SF: Unsupported flash IDs: manuf 00, jedec 1c78, ext_jedec 4a74 | ||
| + | ipq_spi: SPI Flash not found (bus/ | ||
| + | 128 MiB | ||
| + | MMC: < | ||
| + | PCI0 is not defined in the device tree | ||
| + | PCI1 is not defined in the device tree | ||
| + | In: serial@78B3000 | ||
| + | Out: | ||
| + | Err: | ||
| + | machid: 8010400 | ||
| + | Card did not respond to voltage select! | ||
| + | eth0 MAC Address from ART is not valid | ||
| + | eth1 MAC Address from ART is not valid | ||
| + | eth2 MAC Address from ART is not valid | ||
| + | eth3 MAC Address from ART is not valid | ||
| + | eth4 MAC Address from ART is not valid | ||
| + | eth5 MAC Address from ART is not valid | ||
| + | gpio 38 set BOARD_3V9_5V_EN_GPIO to high[1] | ||
| + | gpio 64 set PHY_QCA8081_1V8_EN_GPIO to high[1] | ||
| + | gpio 33 set PHY_AR8033_3V3_EN_GPIO to high[1] | ||
| + | gpio 35 set ONOFF_MODULE_5G_GPIO to low[0] ... 1s | ||
| + | gpio 35 set ONOFF_MODULE_5G_GPIO to high[1] | ||
| + | ubi0: attaching mtd1 | ||
| + | ubi0: scanning is finished | ||
| + | ubi0: attached mtd1 (name " | ||
| + | ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes | ||
| + | ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048 | ||
| + | ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096 | ||
| + | ubi0: good PEBs: 72, bad PEBs: 0, corrupted PEBs: 0 | ||
| + | ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128 | ||
| + | ubi0: max/mean erase counter: 15/8, WL threshold: 4096, image sequenc | ||
| + | e number: 1097309032 | ||
| + | ubi0: available PEBs: 0, total reserved PEBs: 72, PEBs reserved for b | ||
| + | ad PEB handling: 20 | ||
| + | Find no boot alter flag! | ||
| + | Enter magic string to stop autoboot in 1 seconds | ||
| + | Unmounting UBIFS volume ubi_factory_data! | ||
| + | ubi0: detaching mtd1 | ||
| + | ubi0: mtd1 is detached | ||
| + | ubi0: attaching mtd1 | ||
| + | ubi0: scanning is finished | ||
| + | ubi0: attached mtd1 (name " | ||
| + | ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes | ||
| + | ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048 | ||
| + | ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096 | ||
| + | ubi0: good PEBs: 336, bad PEBs: 0, corrupted PEBs: 0 | ||
| + | ubi0: user volume: 3, internal volumes: 1, max. volumes count: 128 | ||
| + | ubi0: max/mean erase counter: 4/2, WL threshold: 4096, image sequence | ||
| + | | ||
| + | ubi0: available PEBs: 0, total reserved PEBs: 336, PEBs reserved for | ||
| + | bad PEB handling: 20 | ||
| + | Read 0 bytes from volume kernel to 44000000 | ||
| + | No size specified -> Using max size (5332992) | ||
| + | ## Loading kernel from FIT Image at 44000000 ... | ||
| + | Using ' | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | Data Start: | ||
| + | Data Size: 5177696 Bytes = 4.9 MiB | ||
| + | | ||
| + | | ||
| + | Load Address: 0x41000000 | ||
| + | Entry Point: | ||
| + | Hash algo: crc32 | ||
| + | Hash value: | ||
| + | Hash algo: sha1 | ||
| + | Hash value: | ||
| + | | ||
| + | ## Loading fdt from FIT Image at 44000000 ... | ||
| + | Using ' | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | Data Start: | ||
| + | Data Size: 46489 Bytes = 45.4 KiB | ||
| + | | ||
| + | Hash algo: crc32 | ||
| + | Hash value: | ||
| + | Hash algo: sha1 | ||
| + | Hash value: | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | Could not find PCI in device tree | ||
| + | Using machid 0x8010400 from environment | ||
| + | |||
| + | Starting kernel ... | ||
| + | |||
| + | Jumping to AARCH64 kernel via monitor | ||
| + | [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034 | ||
| + | ] | ||
| + | [ 0.000000] Linux version 6.6.44 (professor_jonny@MRSPARKLE) (aarc | ||
| + | h64-openwrt-linux-musl-gcc (OpenWrt GCC 13.3.0 r26970-e6c9264351) 13. | ||
| + | 3.0, GNU ld (GNU Binutils) 2.42) #0 SMP Mon Aug 12 18:49:30 2024 | ||
| + | [ 0.000000] Machine model: tplink x80-5g | ||
| + | [ 0.000000] OF: reserved mem: 0x0000000040000000..0x0000000040ffff | ||
| + | ff (16384 KiB) nomap non-reusable nss@40000000 | ||
| + | [ 0.000000] OF: reserved mem: 0x000000004a400000..0x000000004a5fff | ||
| + | ff (2048 KiB) nomap non-reusable tzapp@4a400000 | ||
| + | [ 0.000000] OF: reserved mem: 0x000000004a600000..0x000000004a9fff | ||
| + | ff (4096 KiB) nomap non-reusable bootloader@4a600000 | ||
| + | [ 0.000000] OF: reserved mem: 0x000000004aa00000..0x000000004aafff | ||
| + | ff (1024 KiB) nomap non-reusable sbl@4aa00000 | ||
| + | [ 0.000000] OF: reserved mem: 0x000000004ab00000..0x000000004abfff | ||
| + | ff (1024 KiB) nomap non-reusable smem@4ab00000 | ||
| + | [ 0.000000] OF: reserved mem: 0x000000004ac00000..0x000000004affff | ||
| + | ff (4096 KiB) nomap non-reusable memory@4ac00000 | ||
| + | [ 0.000000] OF: reserved mem: 0x000000004b000000..0x0000000050efff | ||
| + | ff (97280 KiB) nomap non-reusable wcnss@4b000000 | ||
| + | [ 0.000000] OF: reserved mem: 0x0000000050f00000..0x0000000050ffff | ||
| + | ff (1024 KiB) nomap non-reusable q6_etr_dump@50f00000 | ||
| + | [ 0.000000] OF: reserved mem: 0x0000000051000000..0x00000000510fff | ||
| + | ff (1024 KiB) nomap non-reusable m3_dump@51000000 | ||
| + | [ 0.000000] Zone ranges: | ||
| + | [ 0.000000] | ||
| + | [ 0.000000] | ||
| + | [ 0.000000] | ||
| + | [ 0.000000] Movable zone start for each node | ||
| + | [ 0.000000] Early memory node ranges | ||
| + | [ 0.000000] | ||
| + | ] | ||
| + | [ 0.000000] | ||
| + | ] | ||
| + | [ 0.000000] | ||
| + | ] | ||
| + | [ 0.000000] | ||
| + | ] | ||
| + | [ 0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x0000000 | ||
| + | 07fffffff] | ||
| + | [ 0.000000] psci: probing for conduit method from DT. | ||
| + | [ 0.000000] psci: PSCIv1.0 detected in firmware. | ||
| + | [ 0.000000] psci: Using standard PSCI v0.2 function IDs | ||
| + | [ 0.000000] psci: MIGRATE_INFO_TYPE not supported. | ||
| + | [ 0.000000] psci: SMC Calling Convention v1.0 | ||
| + | [ 0.000000] percpu: Embedded 18 pages/cpu s35240 r8192 d30296 u737 | ||
| + | 28 | ||
| + | [ 0.000000] Detected VIPT I-cache on CPU0 | ||
| + | [ 0.000000] alternatives: | ||
| + | [ 0.000000] Kernel command line: ubi.mtd=rootfs root=mtd: | ||
| + | s rootfstype=squashfs rootwait root=/ | ||
| + | [ 0.000000] Dentry cache hash table entries: 131072 (order: 8, 104 | ||
| + | 8576 bytes, linear) | ||
| + | [ 0.000000] Inode-cache hash table entries: 65536 (order: 7, 52428 | ||
| + | 8 bytes, linear) | ||
| + | [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: | ||
| + | | ||
| + | [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:of | ||
| + | f | ||
| + | [ 0.000000] software IO TLB: SWIOTLB bounce buffer size adjusted t | ||
| + | o 1MB | ||
| + | [ 0.000000] software IO TLB: area num 4. | ||
| + | [ 0.000000] software IO TLB: mapped [mem 0x000000007eb00000-0x0000 | ||
| + | 00007ec00000] (1MB) | ||
| + | [ 0.000000] Memory: 885772K/ | ||
| + | 892K rwdata, 2500K rodata, 1472K init, 276K bss, 162804K reserved, 0 | ||
| + | K cma-reserved) | ||
| + | [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, | ||
| + | es=1 | ||
| + | [ 0.000000] rcu: Hierarchical RCU implementation. | ||
| + | [ 0.000000] | ||
| + | [ 0.000000] rcu: RCU calculated value of scheduler-enlistment dela | ||
| + | y is 10 jiffies. | ||
| + | [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 | ||
| + | [ 0.000000] Root IRQ handler: gic_handle_irq | ||
| + | [ 0.000000] GICv2m: range[mem 0x0b00a000-0x0b00affc], | ||
| + | [ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on con | ||
| + | tention. | ||
| + | [ 0.000000] arch_timer: cp15 and mmio timer(s) running at 19.20MHz | ||
| + | | ||
| + | [ 0.000000] clocksource: | ||
| + | max_cycles: 0x46d987e47, | ||
| + | [ 0.000001] sched_clock: | ||
| + | every 4398046511078ns | ||
| + | [ 0.000129] Calibrating delay loop (skipped), value calculated usi | ||
| + | ng timer frequency.. 38.40 BogoMIPS (lpj=192000) | ||
| + | [ 0.000142] pid_max: default: 32768 minimum: 301 | ||
| + | [ 0.005160] Mount-cache hash table entries: 2048 (order: 2, 16384 | ||
| + | bytes, linear) | ||
| + | [ 0.005174] Mountpoint-cache hash table entries: 2048 (order: 2, 1 | ||
| + | 6384 bytes, linear) | ||
| + | [ 0.009416] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_t | ||
| + | ask_cb_adjust=1. | ||
| + | [ 0.009641] rcu: Hierarchical SRCU implementation. | ||
| + | [ 0.009646] rcu: Max phase no-delay instances is 1000. | ||
| + | [ 0.010569] smp: Bringing up secondary CPUs ... | ||
| + | [ 0.011229] Detected VIPT I-cache on CPU1 | ||
| + | [ 0.011332] CPU1: Booted secondary processor 0x0000000001 [0x410fd | ||
| + | 034] | ||
| + | [ 0.012001] Detected VIPT I-cache on CPU2 | ||
| + | [ 0.012070] CPU2: Booted secondary processor 0x0000000002 [0x410fd | ||
| + | 034] | ||
| + | [ 0.012721] Detected VIPT I-cache on CPU3 | ||
| + | [ 0.012786] CPU3: Booted secondary processor 0x0000000003 [0x410fd | ||
| + | 034] | ||
| + | [ 0.012855] smp: Brought up 1 node, 4 CPUs | ||
| + | [ 0.012863] SMP: Total of 4 processors activated. | ||
| + | [ 0.012869] CPU features: detected: 32-bit EL0 Support | ||
| + | [ 0.012874] CPU features: detected: CRC32 instructions | ||
| + | [ 0.012943] CPU features: emulated: Privileged Access Never (PAN) | ||
| + | using TTBR0_EL1 switching | ||
| + | [ 0.012950] CPU: All CPU(s) started at EL1 | ||
| + | [ 0.012953] alternatives: | ||
| + | [ 0.023013] clocksource: | ||
| + | fffffff, max_idle_ns: | ||
| + | [ 0.023042] futex hash table entries: 1024 (order: 4, 65536 bytes, | ||
| + | | ||
| + | [ 0.024776] pinctrl core: initialized pinctrl subsystem | ||
| + | [ 0.026479] NET: Registered PF_NETLINK/ | ||
| + | [ 0.027055] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic a | ||
| + | llocations | ||
| + | [ 0.027098] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for | ||
| + | atomic allocations | ||
| + | [ 0.027132] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool fo | ||
| + | r atomic allocations | ||
| + | [ 0.027519] thermal_sys: | ||
| + | [ 0.027576] cpuidle: using governor menu | ||
| + | [ 0.027779] ASID allocator initialised with 65536 entries | ||
| + | [ 0.054062] qcom, | ||
| + | fuse count: 4 | ||
| + | [ 0.056925] Modules: 29408 pages in range for non-PLT usage | ||
| + | [ 0.056933] Modules: 520928 pages in range for PLT usage | ||
| + | [ 0.061698] SCSI subsystem initialized | ||
| + | [ 0.061902] usbcore: registered new interface driver usbfs | ||
| + | [ 0.061937] usbcore: registered new interface driver hub | ||
| + | [ 0.061985] usbcore: registered new device driver usb | ||
| + | [ 0.062436] qcom_scm: convention: smc arm 64 | ||
| + | [ 0.064085] clocksource: | ||
| + | [ 0.067864] NET: Registered PF_INET protocol family | ||
| + | [ 0.068014] IP idents hash table entries: 16384 (order: 5, 131072 | ||
| + | bytes, linear) | ||
| + | [ 0.070595] tcp_listen_portaddr_hash hash table entries: 512 (orde | ||
| + | r: 1, 8192 bytes, linear) | ||
| + | [ 0.070618] Table-perturb hash table entries: 65536 (order: 6, 262 | ||
| + | 144 bytes, linear) | ||
| + | [ 0.070633] TCP established hash table entries: 8192 (order: 4, 65 | ||
| + | 536 bytes, linear) | ||
| + | [ 0.070720] TCP bind hash table entries: 8192 (order: 6, 262144 by | ||
| + | tes, linear) | ||
| + | [ 0.070992] TCP: Hash tables configured (established 8192 bind 819 | ||
| + | 2) | ||
| + | [ 0.071095] UDP hash table entries: 512 (order: 2, 16384 bytes, li | ||
| + | near) | ||
| + | [ 0.071133] UDP-Lite hash table entries: 512 (order: 2, 16384 byte | ||
| + | s, linear) | ||
| + | [ 0.071609] NET: Registered PF_UNIX/ | ||
| + | [ 0.071651] PCI: CLS 0 bytes, default 64 | ||
| + | [ 0.073484] workingset: timestamp_bits=46 max_order=18 bucket_orde | ||
| + | r=0 | ||
| + | [ 0.074113] squashfs: version 4.0 (2009/ | ||
| + | [ 0.074121] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CM | ||
| + | ODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. | ||
| + | [ 0.080431] qcom-qmp-usb-phy 58000.phy: supply vdda-phy not found, | ||
| + | using dummy regulator | ||
| + | [ 0.080571] qcom-qmp-usb-phy 58000.phy: supply vdda-pll not found, | ||
| + | using dummy regulator | ||
| + | [ 0.081426] qcom-qmp-usb-phy 78000.phy: supply vdda-phy not found, | ||
| + | using dummy regulator | ||
| + | [ 0.081575] qcom-qmp-usb-phy 78000.phy: supply vdda-pll not found, | ||
| + | using dummy regulator | ||
| + | [ 0.082679] qcom-qusb2-phy 59000.phy: supply vdd not found, using | ||
| + | dummy regulator | ||
| + | [ 0.082836] qcom-qusb2-phy 59000.phy: supply vdda-pll not found, u | ||
| + | sing dummy regulator | ||
| + | [ 0.082879] qcom-qusb2-phy 59000.phy: supply vdda-phy-dpdm not fou | ||
| + | nd, using dummy regulator | ||
| + | [ 0.083058] qcom-qusb2-phy 59000.phy: Registered Qcom-QUSB2 phy | ||
| + | [ 0.083272] qcom-qusb2-phy 79000.phy: supply vdd not found, using | ||
| + | dummy regulator | ||
| + | [ 0.083398] qcom-qusb2-phy 79000.phy: supply vdda-pll not found, u | ||
| + | sing dummy regulator | ||
| + | [ 0.083472] qcom-qusb2-phy 79000.phy: supply vdda-phy-dpdm not fou | ||
| + | nd, using dummy regulator | ||
| + | [ 0.083643] qcom-qusb2-phy 79000.phy: Registered Qcom-QUSB2 phy | ||
| + | [ 0.091844] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabl | ||
| + | ed | ||
| + | [ 0.092838] msm_serial 78b3000.serial: | ||
| + | 0 | ||
| + | [ 0.092893] msm_serial 78b3000.serial: | ||
| + | [ 0.093209] 78b3000.serial: | ||
| + | ase_baud = 230400) is a MSM | ||
| + | [ 0.093242] msm_serial: console setup on port #0 | ||
| + | [ 0.093283] printk: console [ttyMSM0] enabled | ||
| + | [ 0.901985] msm_serial: driver initialized | ||
| + | [ 0.911165] loop: module loaded | ||
| + | [ 0.912571] nand: device found, Manufacturer ID: 0xc8, Chip ID: 0x | ||
| + | 61 | ||
| + | [ 0.913121] nand: ESMT PSR1GA30DT | ||
| + | [ 0.919788] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 20 | ||
| + | 48, OOB size: 64 | ||
| + | [ 0.923982] spmi spmi-0: PMIC arbiter version v2 (0x20010000) | ||
| + | [ 0.985585] i2c_dev: i2c /dev entries driver | ||
| + | [ 0.991897] sdhci: Secure Digital Host Controller Interface driver | ||
| + | [ 0.991943] sdhci: Copyright(c) Pierre Ossman | ||
| + | [ 0.997045] sdhci-pltfm: | ||
| + | [ 1.003258] remoteproc remoteproc0: | ||
| + | [ 1.010962] NET: Registered PF_INET6 protocol family | ||
| + | [ 1.014030] Segment Routing with IPv6 | ||
| + | [ 1.018059] In-situ OAM (IOAM) with IPv6 | ||
| + | [ 1.021629] NET: Registered PF_PACKET protocol family | ||
| + | [ 1.025744] 8021q: 802.1Q VLAN Support v1.8 | ||
| + | [ 1.061403] qcom, | ||
| + | fuse count: 4 | ||
| + | [ 1.061772] cpr4_ipq807x_apss_read_fuse_data: | ||
| + | n = 0 | ||
| + | [ 1.067578] cpr4_ipq807x_apss_read_fuse_data: | ||
| + | ng revision = 1 | ||
| + | [ 1.074161] cpr4_ipq807x_apss_read_fuse_data: | ||
| + | fuse value = 0 | ||
| + | [ 1.081792] cpr4_ipq807x_apss_read_fuse_data: | ||
| + | boost fuse config = 0 boost = disable | ||
| + | [ 1.089325] cpr3_mem_acc_init: | ||
| + | egulator | ||
| + | [ 1.098458] cpr4_ipq807x_apss_calculate_open_loop_voltages: | ||
| + | rner: fused SVS: open-loop= 704000 uV | ||
| + | [ 1.105409] cpr4_ipq807x_apss_calculate_open_loop_voltages: | ||
| + | rner: fused NOM: open-loop= 808000 uV | ||
| + | [ 1.115394] cpr4_ipq807x_apss_calculate_open_loop_voltages: | ||
| + | rner: fused TURBO: open-loop= 864000 uV | ||
| + | [ 1.125200] cpr4_ipq807x_apss_calculate_open_loop_voltages: | ||
| + | rner: fused | ||
| + | [ 1.135062] cpr4_ipq807x_apss_calculate_target_quotients: | ||
| + | er: fused SVS: quot[ 7]= 767, quot_offset[ 7]= 0 | ||
| + | [ 1.144822] cpr4_ipq807x_apss_calculate_target_quotients: | ||
| + | er: fused NOM: quot[ 7]= 972, quot_offset[ 7]= 205 | ||
| + | [ 1.155670] cpr4_ipq807x_apss_calculate_target_quotients: | ||
| + | er: fused TURBO: quot[ 7]=1073, quot_offset[ 7]= 100 | ||
| + | [ 1.166612] cpr4_ipq807x_apss_calculate_target_quotients: | ||
| + | er: fused | ||
| + | [ 1.177779] cpr3_regulator_init_ctrl: | ||
| + | ed-loop | ||
| + | [ 1.180467] nand: device found, Manufacturer ID: 0xc8, Chip ID: 0x | ||
| + | 61 | ||
| + | [ 1.195245] nand: ESMT PSR1GA30DT | ||
| + | [ 1.201639] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 20 | ||
| + | 48, OOB size: 64 | ||
| + | [ 1.205306] 17 qcomsmem partitions found on MTD device qcom_nand.0 | ||
| + | [ 1.212325] Creating 17 MTD partitions on " | ||
| + | [ 1.218525] 0x000000000000-0x000000100000 : " | ||
| + | [ 1.225526] 0x000000100000-0x000000200000 : " | ||
| + | [ 1.230284] 0x000000200000-0x000000280000 : " | ||
| + | [ 1.234827] 0x000000280000-0x000000300000 : " | ||
| + | [ 1.240130] 0x000000300000-0x000000600000 : " | ||
| + | [ 1.247900] 0x000000600000-0x000000680000 : " | ||
| + | [ 1.250843] 0x000000680000-0x000000700000 : " | ||
| + | [ 1.255831] 0x000000700000-0x000000780000 : " | ||
| + | [ 1.260902] 0x000000780000-0x000000800000 : " | ||
| + | [ 1.265756] 0x000000800000-0x000000980000 : " | ||
| + | [ 1.271275] 0x000000980000-0x000000b80000 : " | ||
| + | [ 1.277351] 0x000000b80000-0x000000c00000 : " | ||
| + | [ 1.280960] 0x000000c00000-0x000003600000 : " | ||
| + | [ 1.322828] mtd: setting mtd12 (rootfs) as root device | ||
| + | [ 1.323207] mtdsplit: no squashfs found in " | ||
| + | [ 1.326934] 0x000003600000-0x000006000000 : " | ||
| + | [ 1.370320] 0x000006000000-0x000006080000 : " | ||
| + | [ 1.371329] 0x000006080000-0x000006980000 : " | ||
| + | [ 1.383576] 0x000006980000-0x000007a80000 : " | ||
| + | [ 1.407745] cpufreq: cpufreq_online: | ||
| + | tial frequency: 800000 KHz, changing to: 1017600 KHz | ||
| + | [ 1.409628] remoteproc remoteproc0: | ||
| + | [ 1.417712] ubi0: attaching mtd12 | ||
| + | [ 1.655198] ubi0: scanning is finished | ||
| + | [ 1.662605] ubi0: attached mtd12 (name " | ||
| + | [ 1.662643] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 1269 | ||
| + | 76 bytes | ||
| + | [ 1.667350] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page si | ||
| + | ze 2048 | ||
| + | [ 1.674115] ubi0: VID header offset: 2048 (aligned 2048), data off | ||
| + | set: 4096 | ||
| + | [ 1.680965] ubi0: good PEBs: 336, bad PEBs: 0, corrupted PEBs: 0 | ||
| + | [ 1.687741] ubi0: user volume: 3, internal volumes: 1, max. volume | ||
| + | s count: 128 | ||
| + | [ 1.693987] ubi0: max/mean erase counter: 4/2, WL threshold: 4096, | ||
| + | image sequence number: 473343929 | ||
| + | [ 1.701032] ubi0: available PEBs: 0, total reserved PEBs: 336, PEB | ||
| + | s reserved for bad PEB handling: 20 | ||
| + | [ 1.709975] ubi0: background thread " | ||
| + | [ 1.719923] block ubiblock0_1: | ||
| + | 5] VFS: Mounted root (squashfs filesystem) readonly on device 254:0. | ||
| + | [ 1.735007] Freeing unused kernel memory: 1472K | ||
| + | [ 1.740712] Run /sbin/init as init process | ||
| + | [ 1.923590] init: Console is alive | ||
| + | [ 1.923749] init: - watchdog - | ||
| + | [ 2.524754] kmodloader: loading kernel modules from / | ||
| + | oot.d/* | ||
| + | [ 2.557435] gpio_button_hotplug: | ||
| + | | ||
| + | [ 2.595392] ssdk_dt_parse_interrupt[941]: | ||
| + | xist | ||
| + | [ 4.294137] regi_init[2525]: | ||
| + | [ 4.294267] regi_init[2574]: | ||
| + | [ 4.300638] EDMA ver 1 hw init | ||
| + | [ 4.304840] EDMA HW Reset completed succesfully | ||
| + | [ 4.307494] Num rings - TxDesc:1 (23-23) TxCmpl:1 (7-7) | ||
| + | [ 4.311889] RxDesc:1 (15-15) RxFill:1 (7-7) | ||
| + | [ 4.317515] GMAC5(ffffff800374d900) Invalid MAC@ - using 26:d0:89: | ||
| + | e6:ac:eb | ||
| + | [ 4.321270] dp5: ppe offload disabled: 0 for macid 5 | ||
| + | [ 4.328219] dp5: Switch attached to macid 5 status: 0 | ||
| + | [ 4.426259] Qualcomm QCA8081 90000.mdio-1: | ||
| + | (mii_bus: | ||
| + | [ 4.427141] GMAC6(ffffff800374b900) Invalid MAC@ - using 26:ad:0c: | ||
| + | d7:44:f6 | ||
| + | [ 4.435169] dp6-syn: ppe offload disabled: 0 for macid 6 | ||
| + | [ 4.442005] dp6-syn: Switch attached to macid 6 status: 0 | ||
| + | [ 4.524505] Qualcomm Atheros AR8031/ | ||
| + | ed PHY driver (mii_bus: | ||
| + | [ 4.525319] ****************************************************** | ||
| + | **** | ||
| + | [ 4.534812] * NSS Data Plane driver | ||
| + | [ 4.541115] ****************************************************** | ||
| + | **** | ||
| + | [ 4.562321] xhci-hcd xhci-hcd.1.auto: | ||
| + | [ 4.562381] xhci-hcd xhci-hcd.1.auto: | ||
| + | gned bus number 1 | ||
| + | [ 4.566900] xhci-hcd xhci-hcd.1.auto: | ||
| + | rsion 0x110 quirks 0x0000008002000010 | ||
| + | [ 4.574310] xhci-hcd xhci-hcd.1.auto: | ||
| + | [ 4.583766] xhci-hcd xhci-hcd.1.auto: | ||
| + | [ 4.589548] xhci-hcd xhci-hcd.1.auto: | ||
| + | gned bus number 2 | ||
| + | [ 4.595104] xhci-hcd xhci-hcd.1.auto: | ||
| + | peed | ||
| + | [ 4.603050] hub 1-0:1.0: USB hub found | ||
| + | [ 4.609276] hub 1-0:1.0: 1 port detected | ||
| + | [ 4.613239] usb usb2: We don't know the algorithms for LPM for thi | ||
| + | s host, disabling LPM. | ||
| + | [ 4.617499] hub 2-0:1.0: USB hub found | ||
| + | [ 4.625208] hub 2-0:1.0: 1 port detected | ||
| + | [ 4.629035] xhci-hcd xhci-hcd.2.auto: | ||
| + | [ 4.632775] xhci-hcd xhci-hcd.2.auto: | ||
| + | gned bus number 3 | ||
| + | [ 4.638215] xhci-hcd xhci-hcd.2.auto: | ||
| + | rsion 0x110 quirks 0x0000008002000010 | ||
| + | [ 4.645670] xhci-hcd xhci-hcd.2.auto: | ||
| + | [ 4.655093] xhci-hcd xhci-hcd.2.auto: | ||
| + | [ 4.660897] xhci-hcd xhci-hcd.2.auto: | ||
| + | gned bus number 4 | ||
| + | [ 4.666463] xhci-hcd xhci-hcd.2.auto: | ||
| + | peed | ||
| + | [ 4.674609] hub 3-0:1.0: USB hub found | ||
| + | [ 4.680617] hub 3-0:1.0: 1 port detected | ||
| + | [ 4.684668] usb usb4: We don't know the algorithms for LPM for thi | ||
| + | s host, disabling LPM. | ||
| + | [ 4.688672] hub 4-0:1.0: USB hub found | ||
| + | [ 4.696504] hub 4-0:1.0: 1 port detected | ||
| + | [ 4.702753] kmodloader: done loading kernel modules from /etc/modu | ||
| + | les-boot.d/ | ||
| + | [ 4.705919] init: - preinit - | ||
| + | [ 7.784080] random: crng init done | ||
| + | / | ||
| + | und | ||
| + | Press the [f] key and hit [enter] to enter failsafe mode | ||
| + | Press the [1], [2], [3] or [4] key and hit [enter] to select the debu | ||
| + | g level | ||
| + | [ 9.959699] UBIFS (ubi0:2): Mounting in unauthenticated mode | ||
| + | [ 9.959840] UBIFS (ubi0:2): background thread " | ||
| + | ed, PID 837 | ||
| + | [ 9.997762] UBIFS (ubi0:2): recovery needed | ||
| + | [ | ||
| + | [ | ||
| + | name " | ||
| + | [ | ||
| + | /max. I/O unit sizes: 2048 bytes/2048 bytes | ||
| + | [ | ||
| + | EBs), max 185 LEBs, journal size 1142784 bytes (1 MiB, 9 LEBs) | ||
| + | [ | ||
| + | | ||
| + | [ | ||
| + | UUID 6F2A9AA2-0601-44C9-9ABB-95CF22F596A9, | ||
| + | [ | ||
| + | [ | ||
| + | back to xino=off, | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | Failed to connect to ubus | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | Please press Enter to activate this console. | ||
| + | [ | ||
| + | /* | ||
| + | [ | ||
| + | pliant with requirements: | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | -g28fdf4518483 | ||
| + | [ | ||
| + | 4a3683b2 | ||
| + | [ | ||
| + | [ | ||
| + | eric | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | .mdt, size 668 | ||
| + | [ | ||
| + | wcss is now up | ||
| + | [ | ||
| + | [ | ||
| + | _id 0xff soc_id 0xffffffff | ||
| + | [ | ||
| + | mestamp 2023-10-12 02:06 fw_build_id WLAN.HK.2.9.0.1-01977-QCAHKSWPL_ | ||
| + | SILICONZ-1 | ||
| + | [ | ||
| + | 00.q6v5_wcss | ||
| + | [ | ||
| + | [ | ||
| + | .mdt, size 668 | ||
| + | [ | ||
| + | wcss is now up | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | | ||
| + | [ | ||
| + | [ | ||
| + | USB modem | ||
| + | [ | ||
| + | [ | ||
| + | les.d/* | ||
| + | [ | ||
| + | _id 0xff soc_id 0xffffffff | ||
| + | [ | ||
| + | mestamp 2023-10-12 02:06 fw_build_id WLAN.HK.2.9.0.1-01977-QCAHKSWPL_ | ||
| + | SILICONZ-1 | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | e | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | te | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | e | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | de | ||
| + | [ | ||
| + | e | ||
| + | [ | ||
| + | [ | ||
| + | e | ||
| + | [ | ||
| + | ate | ||
| + | [ | ||
| + | ate | ||
| + | [ | ||
| + | mode | ||
| + | [ | ||
| + | ode | ||
| + | [ | ||
| + | ate | ||
| + | [ | ||
| + | state | ||
| + | [ | ||
| + | e | ||
| + | [ | ||
| + | [ | ||
| + | ate | ||
| + | [ | ||
| + | ate | ||
| + | [ | ||
| + | ate | ||
| + | [ | ||
| + | mode | ||
| + | [ | ||
| + | ode | ||
| + | [ | ||
| + | ate | ||
| + | [ | ||
| + | state | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | [ | ||
| + | -hcd | ||
| + | [ | ||
| + | [ | ||
| + | ttyUSB0 | ||
| + | [ | ||
| + | [ | ||
| + | ttyUSB1 | ||
| + | [ | ||
| + | [ | ||
| + | ttyUSB2 | ||
| + | [ | ||
| + | [ | ||
| + | ttyUSB3 | ||
| + | |||
| + | |||
| + | |||
| + | BusyBox v1.36.1 (2024-08-08 21:48:47 UTC) built-in shell (ash) | ||
| + | |||
| + | _______ | ||
| + | | ||
| + | | ||
| + | | ||
| + | |__| W I R E L E S S F R E E D O M | ||
| + | | ||
| + | | ||
| + | | ||
| + | root@OpenWrt:/# | ||
| </ | </ | ||
| - | ==== Flash Layout ==== | + | |
| - | < | + | |
| - | cat /proc/mtd | + | |
| - | dev: size | + | |
| - | mtd0: 00100000 00020000 " | + | |
| - | mtd1: 00100000 00020000 " | + | |
| - | mtd2: 00080000 00020000 " | + | |
| - | mtd3: 00080000 00020000 " | + | |
| - | mtd4: 00300000 00020000 " | + | |
| - | mtd5: 00080000 00020000 " | + | |
| - | mtd6: 00080000 00020000 " | + | |
| - | mtd7: 00080000 00020000 " | + | |
| - | mtd8: 00080000 00020000 " | + | |
| - | mtd9: 00180000 00020000 " | + | |
| - | mtd10: 00200000 00020000 " | + | |
| - | mtd11: 00080000 00020000 " | + | |
| - | mtd12: 02a00000 00020000 " | + | |
| - | mtd13: 02a00000 00020000 " | + | |
| - | mtd14: 00080000 00020000 " | + | |
| - | mtd15: 00900000 00020000 " | + | |
| - | mtd16: 01100000 00020000 " | + | |
| - | mtd17: 00573000 0001f000 " | + | |
| - | mtd18: 01341000 0001f000 " | + | |
| - | root@(none):/# | + | |
| - | </ | + | |
| ==== Devices ==== | ==== Devices ==== | ||
| - | <code> | + | <WRAP bootlog> |
| + | <nowiki> | ||
| cat / | cat / | ||
| Character devices: | Character devices: | ||
| Line 2454: | Line 3255: | ||
| 254 nvme | 254 nvme | ||
| root@(none):/# | root@(none):/# | ||
| - | </code> | + | </nowiki> |
| + | </ | ||
| + | ==== Stock configuration (AP-HK01-C5.dts) ==== | ||
| + | <WRAP bootlog> | ||
| + | < | ||
| + | /dts-v1/; | ||
| + | /* | ||
| + | * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved. | ||
| + | * | ||
| + | * Permission to use, copy, modify, and/or distribute this software for any | ||
| + | * purpose with or without fee is hereby granted, provided that the above | ||
| + | * copyright notice and this permission notice appear in all copies. | ||
| + | * | ||
| + | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||
| + | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||
| + | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||
| + | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||
| + | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||
| + | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||
| + | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||
| + | */ | ||
| + | #include " | ||
| + | #include " | ||
| + | #include < | ||
| - | ===== Notes ===== | + | / { |
| + | # | ||
| + | # | ||
| + | model | ||
| + | compatible | ||
| + | qcom, | ||
| + | interrupt-parent | ||
| + | qcom, | ||
| + | qcom, | ||
| - | No GPL sources available yet I have asked with no response. | + | aliases { |
| + | sdhc1 = & | ||
| + | /* | ||
| + | * Aliases as required by u-boot | ||
| + | * to patch MAC addresses | ||
| + | */ | ||
| + | ethernet0 = "/ | ||
| + | ethernet1 = "/ | ||
| + | ethernet2 = "/ | ||
| + | ethernet3 = "/ | ||
| + | ethernet4 = "/ | ||
| + | ethernet5 = "/ | ||
| + | }; | ||
| - | Cant seem to get acces to uart it asks for a magic string | + | chosen { |
| + | bootargs = " | ||
| + | bootargs-append = " swiotlb=1"; | ||
| + | }; | ||
| + | }; | ||
| + | |||
| + | & | ||
| + | pmic@0 { | ||
| + | compatible =" | ||
| + | reg = <0x0 SPMI_USID>; | ||
| + | # | ||
| + | # | ||
| + | |||
| + | pmm8074_gpios: | ||
| + | compatible = " | ||
| + | reg = <0xc000 0xc00>; | ||
| + | gpio-controller; | ||
| + | # | ||
| + | interrupts = <0 0xc0 0 IRQ_TYPE_NONE>, | ||
| + | <0 0xc1 0 IRQ_TYPE_NONE>, | ||
| + | <0 0xc2 0 IRQ_TYPE_NONE>, | ||
| + | <0 0xc3 0 IRQ_TYPE_NONE>, | ||
| + | <0 0xc4 0 IRQ_TYPE_NONE>, | ||
| + | <0 0xc5 0 IRQ_TYPE_NONE>, | ||
| + | <0 0xc6 0 IRQ_TYPE_NONE>, | ||
| + | <0 0xc7 0 IRQ_TYPE_NONE>, | ||
| + | <0 0xc8 0 IRQ_TYPE_NONE>, | ||
| + | <0 0xc9 0 IRQ_TYPE_NONE>, | ||
| + | <0 0xca 0 IRQ_TYPE_NONE>, | ||
| + | <0 0xcb 0 IRQ_TYPE_NONE>; | ||
| + | pinctrl-0 = <& | ||
| + | pinctrl-names = " | ||
| + | |||
| + | pmm8074_gpio: | ||
| + | pinconf { | ||
| + | pins = " | ||
| + | function = PMIC_GPIO_FUNC_NORMAL; | ||
| + | bias-pull-up; | ||
| + | output-high; | ||
| + | }; | ||
| + | }; | ||
| + | }; | ||
| + | }; | ||
| + | }; | ||
| + | |||
| + | &tlmm { | ||
| + | pinctrl-0 = <& | ||
| + | pinctrl-names = " | ||
| + | pcie_sdx_gpio: | ||
| + | ap2mdm_err_ftl { | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-pull-down; | ||
| + | }; | ||
| + | sdx_pon_gpio { | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-pull-up; | ||
| + | output-high; | ||
| + | }; | ||
| + | ap2mdm_status { | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-pull-up; | ||
| + | output-high; | ||
| + | }; | ||
| + | }; | ||
| + | |||
| + | pcie_wake_pins: | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-pull-up; | ||
| + | }; | ||
| + | |||
| + | mdio_pins: mdio_pinmux { | ||
| + | mux_0 { | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-pull-up; | ||
| + | }; | ||
| + | mux_1 { | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-pull-up; | ||
| + | }; | ||
| + | mux_2 { | ||
| + | pins = " | ||
| + | function = " | ||
| + | bias-pull-up; | ||
| + | }; | ||
| + | mux_3 { | ||
| + | pins = " | ||
| + | function = " | ||
| + | bias-pull-up; | ||
| + | }; | ||
| + | }; | ||
| + | |||
| + | uart_pins: uart_pins { | ||
| + | mux { | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-disable; | ||
| + | }; | ||
| + | }; | ||
| + | |||
| + | qpic_pins: qpic_pins { | ||
| + | data_0 { | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-disable; | ||
| + | }; | ||
| + | data_1 { | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-disable; | ||
| + | }; | ||
| + | data_2 { | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-disable; | ||
| + | }; | ||
| + | data_3 { | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-disable; | ||
| + | }; | ||
| + | data_4 { | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-disable; | ||
| + | }; | ||
| + | data_5 { | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-disable; | ||
| + | }; | ||
| + | data_6 { | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-disable; | ||
| + | }; | ||
| + | data_7 { | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-disable; | ||
| + | }; | ||
| + | data_8 { | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-disable; | ||
| + | }; | ||
| + | qpic_pad { | ||
| + | pins = " | ||
| + | " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-disable; | ||
| + | }; | ||
| + | }; | ||
| + | |||
| + | hsuart_pins: | ||
| + | mux { | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-disable; | ||
| + | }; | ||
| + | }; | ||
| + | |||
| + | fan_pins: fan_pins { | ||
| + | mux { | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-disable; | ||
| + | }; | ||
| + | }; | ||
| + | |||
| + | antenna_pins: | ||
| + | ext_antenna_en { | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-disable; | ||
| + | }; | ||
| + | }; | ||
| + | |||
| + | modem_pins: | ||
| + | modem_reset { | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-disable; | ||
| + | }; | ||
| + | |||
| + | w_disable { | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-disable; | ||
| + | }; | ||
| + | }; | ||
| + | |||
| + | ledc_pins: ledc_pinmux { | ||
| + | led_clk { | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-pull-down; | ||
| + | }; | ||
| + | led_data { | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-pull-down; | ||
| + | }; | ||
| + | led_clr { | ||
| + | pins = " | ||
| + | function = " | ||
| + | drive-strength = < | ||
| + | bias-pull-up; | ||
| + | }; | ||
| + | }; | ||
| + | }; | ||
| + | |||
| + | &soc { | ||
| + | mdio: mdio@90000 { | ||
| + | pinctrl-0 = <& | ||
| + | pinctrl-names = " | ||
| + | phy-reset-gpio = <& | ||
| + | compatible = " | ||
| + | phy0: ethernet-phy@0 { | ||
| + | reg = < | ||
| + | }; | ||
| + | phy1: ethernet-phy@1 { | ||
| + | reg = < | ||
| + | }; | ||
| + | phy2: ethernet-phy@2 { | ||
| + | reg = < | ||
| + | }; | ||
| + | phy3: ethernet-phy@3 { | ||
| + | reg = < | ||
| + | }; | ||
| + | phy4: ethernet-phy@4 { | ||
| + | reg = < | ||
| + | }; | ||
| + | phy5: ethernet-phy@5 { | ||
| + | reg = < | ||
| + | }; | ||
| + | }; | ||
| + | |||
| + | ess-switch@3a000000 { | ||
| + | switch_cpu_bmp = < | ||
| + | switch_lan_bmp = < | ||
| + | switch_wan_bmp = < | ||
| + | switch_mac_mode = < | ||
| + | switch_mac_mode1 = < | ||
| + | switch_mac_mode2 = < | ||
| + | bm_tick_mode = <0>; /* bm tick mode */ | ||
| + | tm_tick_mode = <0>; /* tm tick mode */ | ||
| + | qcom, | ||
| + | port@0 { | ||
| + | port_id = < | ||
| + | phy_address = < | ||
| + | }; | ||
| + | port@1 { | ||
| + | port_id = < | ||
| + | phy_address = < | ||
| + | }; | ||
| + | port@2 { | ||
| + | port_id = < | ||
| + | phy_address = < | ||
| + | }; | ||
| + | port@3 { | ||
| + | port_id = < | ||
| + | phy_address = < | ||
| + | }; | ||
| + | port@4 { | ||
| + | port_id = < | ||
| + | phy_address = < | ||
| + | port_mac_sel=" | ||
| + | }; | ||
| + | port@5 { | ||
| + | port_id = < | ||
| + | phy_address = < | ||
| + | }; | ||
| + | }; | ||
| + | port_scheduler_resource { | ||
| + | port@0 { | ||
| + | port_id = < | ||
| + | ucast_queue = <0 143>; | ||
| + | mcast_queue = <256 271>; | ||
| + | l0sp = <0 35>; | ||
| + | l0cdrr = <0 47>; | ||
| + | l0edrr = <0 47>; | ||
| + | l1cdrr = <0 7>; | ||
| + | l1edrr = <0 7>; | ||
| + | }; | ||
| + | port@1 { | ||
| + | port_id = < | ||
| + | ucast_queue = <144 159>; | ||
| + | mcast_queue = <272 275>; | ||
| + | l0sp = <36 39>; | ||
| + | l0cdrr = <48 63>; | ||
| + | l0edrr = <48 63>; | ||
| + | l1cdrr = <8 11>; | ||
| + | l1edrr = <8 11>; | ||
| + | }; | ||
| + | port@2 { | ||
| + | port_id = < | ||
| + | ucast_queue = <160 175>; | ||
| + | mcast_queue = <276 279>; | ||
| + | l0sp = <40 43>; | ||
| + | l0cdrr = <64 79>; | ||
| + | l0edrr = <64 79>; | ||
| + | l1cdrr = <12 15>; | ||
| + | l1edrr = <12 15>; | ||
| + | }; | ||
| + | port@3 { | ||
| + | port_id = < | ||
| + | ucast_queue = <176 191>; | ||
| + | mcast_queue = <280 283>; | ||
| + | l0sp = <44 47>; | ||
| + | l0cdrr = <80 95>; | ||
| + | l0edrr = <80 95>; | ||
| + | l1cdrr = <16 19>; | ||
| + | l1edrr = <16 19>; | ||
| + | }; | ||
| + | port@4 { | ||
| + | port_id = < | ||
| + | ucast_queue = <192 207>; | ||
| + | mcast_queue = <284 287>; | ||
| + | l0sp = <48 51>; | ||
| + | l0cdrr = <96 111>; | ||
| + | l0edrr = <96 111>; | ||
| + | l1cdrr = <20 23>; | ||
| + | l1edrr = <20 23>; | ||
| + | }; | ||
| + | port@5 { | ||
| + | port_id = < | ||
| + | ucast_queue = <208 223>; | ||
| + | mcast_queue = <288 291>; | ||
| + | l0sp = <52 55>; | ||
| + | l0cdrr = <112 127>; | ||
| + | l0edrr = <112 127>; | ||
| + | l1cdrr = <24 27>; | ||
| + | l1edrr = <24 27>; | ||
| + | }; | ||
| + | port@6 { | ||
| + | port_id = < | ||
| + | ucast_queue = <224 239>; | ||
| + | mcast_queue = <292 295>; | ||
| + | l0sp = <56 59>; | ||
| + | l0cdrr = <128 143>; | ||
| + | l0edrr = <128 143>; | ||
| + | l1cdrr = <28 31>; | ||
| + | l1edrr = <28 31>; | ||
| + | }; | ||
| + | port@7 { | ||
| + | port_id = < | ||
| + | ucast_queue = <240 255>; | ||
| + | mcast_queue = <296 299>; | ||
| + | l0sp = <60 63>; | ||
| + | l0cdrr = <144 159>; | ||
| + | l0edrr = <144 159>; | ||
| + | l1cdrr = <32 35>; | ||
| + | l1edrr = <32 35>; | ||
| + | }; | ||
| + | }; | ||
| + | port_scheduler_config { | ||
| + | port@0 { | ||
| + | port_id = < | ||
| + | l1scheduler { | ||
| + | group@0 { | ||
| + | sp = <0 1>; /*L0 SPs*/ | ||
| + | / | ||
| + | cfg = <0 0 0 0>; | ||
| + | }; | ||
| + | }; | ||
| + | l0scheduler { | ||
| + | group@0 { | ||
| + | / | ||
| + | ucast_queue = <0 4 8>; | ||
| + | / | ||
| + | mcast_queue = <256 260>; | ||
| + | /*sp cpri cdrr epri edrr*/ | ||
| + | cfg = <0 0 0 0 0>; | ||
| + | }; | ||
| + | group@1 { | ||
| + | ucast_queue = <1 5 9>; | ||
| + | mcast_queue = <257 261>; | ||
| + | cfg = <0 1 1 1 1>; | ||
| + | }; | ||
| + | group@2 { | ||
| + | ucast_queue = <2 6 10>; | ||
| + | mcast_queue = <258 262>; | ||
| + | cfg = <0 2 2 2 2>; | ||
| + | }; | ||
| + | group@3 { | ||
| + | ucast_queue = <3 7 11>; | ||
| + | mcast_queue = <259 263>; | ||
| + | cfg = <0 3 3 3 3>; | ||
| + | }; | ||
| + | }; | ||
| + | }; | ||
| + | port@1 { | ||
| + | port_id = < | ||
| + | l1scheduler { | ||
| + | group@0 { | ||
| + | sp = < | ||
| + | cfg = <0 8 0 8>; | ||
| + | }; | ||
| + | group@1 { | ||
| + | sp = < | ||
| + | cfg = <1 9 1 9>; | ||
| + | }; | ||
| + | }; | ||
| + | l0scheduler { | ||
| + | group@0 { | ||
| + | ucast_queue = < | ||
| + | ucast_loop_pri = < | ||
| + | mcast_queue = < | ||
| + | mcast_loop_pri = < | ||
| + | cfg = <36 0 48 0 48>; | ||
| + | }; | ||
| + | }; | ||
| + | }; | ||
| + | port@2 { | ||
| + | port_id = < | ||
| + | l1scheduler { | ||
| + | group@0 { | ||
| + | sp = < | ||
| + | cfg = <0 12 0 12>; | ||
| + | }; | ||
| + | group@1 { | ||
| + | sp = < | ||
| + | cfg = <1 13 1 13>; | ||
| + | }; | ||
| + | }; | ||
| + | l0scheduler { | ||
| + | group@0 { | ||
| + | ucast_queue = < | ||
| + | ucast_loop_pri = < | ||
| + | mcast_queue = < | ||
| + | mcast_loop_pri = < | ||
| + | cfg = <40 0 64 0 64>; | ||
| + | }; | ||
| + | }; | ||
| + | }; | ||
| + | port@3 { | ||
| + | port_id = < | ||
| + | l1scheduler { | ||
| + | group@0 { | ||
| + | sp = < | ||
| + | cfg = <0 16 0 16>; | ||
| + | }; | ||
| + | group@1 { | ||
| + | sp = < | ||
| + | cfg = <1 17 1 17>; | ||
| + | }; | ||
| + | }; | ||
| + | l0scheduler { | ||
| + | group@0 { | ||
| + | ucast_queue = < | ||
| + | ucast_loop_pri = < | ||
| + | mcast_queue = < | ||
| + | mcast_loop_pri = < | ||
| + | cfg = <44 0 80 0 80>; | ||
| + | }; | ||
| + | }; | ||
| + | }; | ||
| + | port@4 { | ||
| + | port_id = < | ||
| + | l1scheduler { | ||
| + | group@0 { | ||
| + | sp = < | ||
| + | cfg = <0 20 0 20>; | ||
| + | }; | ||
| + | group@1 { | ||
| + | sp = < | ||
| + | cfg = <1 21 1 21>; | ||
| + | }; | ||
| + | }; | ||
| + | l0scheduler { | ||
| + | group@0 { | ||
| + | ucast_queue = < | ||
| + | ucast_loop_pri = < | ||
| + | mcast_queue = < | ||
| + | mcast_loop_pri = < | ||
| + | cfg = <48 0 96 0 96>; | ||
| + | }; | ||
| + | }; | ||
| + | }; | ||
| + | port@5 { | ||
| + | port_id = < | ||
| + | l1scheduler { | ||
| + | group@0 { | ||
| + | sp = < | ||
| + | cfg = <0 24 0 24>; | ||
| + | }; | ||
| + | group@1 { | ||
| + | sp = < | ||
| + | cfg = <1 25 1 25>; | ||
| + | }; | ||
| + | }; | ||
| + | l0scheduler { | ||
| + | group@0 { | ||
| + | ucast_queue = < | ||
| + | ucast_loop_pri = < | ||
| + | mcast_queue = < | ||
| + | mcast_loop_pri = < | ||
| + | cfg = <52 0 112 0 112>; | ||
| + | }; | ||
| + | }; | ||
| + | }; | ||
| + | port@6 { | ||
| + | port_id = < | ||
| + | l1scheduler { | ||
| + | group@0 { | ||
| + | sp = < | ||
| + | cfg = <0 28 0 28>; | ||
| + | }; | ||
| + | group@1 { | ||
| + | sp = < | ||
| + | cfg = <1 29 1 29>; | ||
| + | }; | ||
| + | }; | ||
| + | l0scheduler { | ||
| + | group@0 { | ||
| + | ucast_queue = < | ||
| + | ucast_loop_pri = < | ||
| + | mcast_queue = < | ||
| + | mcast_loop_pri = < | ||
| + | cfg = <56 0 128 0 128>; | ||
| + | }; | ||
| + | }; | ||
| + | }; | ||
| + | port@7 { | ||
| + | port_id = < | ||
| + | l1scheduler { | ||
| + | group@0 { | ||
| + | sp = < | ||
| + | cfg = <0 32 0 32>; | ||
| + | }; | ||
| + | group@1 { | ||
| + | sp = < | ||
| + | cfg = <1 33 1 33>; | ||
| + | }; | ||
| + | }; | ||
| + | l0scheduler { | ||
| + | group@0 { | ||
| + | ucast_queue = < | ||
| + | ucast_loop_pri = < | ||
| + | mcast_queue = < | ||
| + | cfg = <60 0 144 0 144>; | ||
| + | }; | ||
| + | }; | ||
| + | }; | ||
| + | }; | ||
| + | }; | ||
| + | |||
| + | dp1 { | ||
| + | device_type = " | ||
| + | compatible = " | ||
| + | qcom,id = < | ||
| + | reg = < | ||
| + | qcom, | ||
| + | local-mac-address = [000000000000]; | ||
| + | qcom, | ||
| + | qcom, | ||
| + | phy-mode = " | ||
| + | }; | ||
| + | |||
| + | dp2 { | ||
| + | device_type = " | ||
| + | compatible = " | ||
| + | qcom,id = < | ||
| + | reg = < | ||
| + | qcom, | ||
| + | local-mac-address = [000000000000]; | ||
| + | qcom, | ||
| + | qcom, | ||
| + | phy-mode = " | ||
| + | }; | ||
| + | |||
| + | dp3 { | ||
| + | device_type = " | ||
| + | compatible = " | ||
| + | qcom,id = < | ||
| + | reg = < | ||
| + | qcom, | ||
| + | local-mac-address = [000000000000]; | ||
| + | qcom, | ||
| + | qcom, | ||
| + | phy-mode = " | ||
| + | }; | ||
| + | |||
| + | dp4 { | ||
| + | device_type = " | ||
| + | compatible = " | ||
| + | qcom,id = < | ||
| + | reg = < | ||
| + | qcom, | ||
| + | local-mac-address = [000000000000]; | ||
| + | qcom, | ||
| + | qcom, | ||
| + | phy-mode = " | ||
| + | }; | ||
| + | |||
| + | dp5 { | ||
| + | device_type = " | ||
| + | compatible = " | ||
| + | qcom,id = < | ||
| + | reg = < | ||
| + | qcom, | ||
| + | local-mac-address = [000000000000]; | ||
| + | qcom, | ||
| + | qcom, | ||
| + | phy-mode = " | ||
| + | }; | ||
| + | |||
| + | dp6 { | ||
| + | device_type = " | ||
| + | compatible = " | ||
| + | qcom,id = < | ||
| + | reg = < | ||
| + | qcom, | ||
| + | local-mac-address = [000000000000]; | ||
| + | qcom, | ||
| + | qcom, | ||
| + | phy-mode = " | ||
| + | }; | ||
| + | |||
| + | gpio_keys { | ||
| + | compatible = " | ||
| + | |||
| + | button@1 { | ||
| + | label = " | ||
| + | linux, | ||
| + | gpios = <& | ||
| + | linux, | ||
| + | }; | ||
| + | }; | ||
| + | |||
| + | fans { | ||
| + | compatible = " | ||
| + | pinctrl-0 = <& | ||
| + | pinctrl-names = " | ||
| + | fan1 { | ||
| + | label = " | ||
| + | gpios = <& | ||
| + | }; | ||
| + | fan2 { | ||
| + | label = " | ||
| + | gpios = <& | ||
| + | }; | ||
| + | fan3 { | ||
| + | label = " | ||
| + | gpios = <& | ||
| + | }; | ||
| + | }; | ||
| + | |||
| + | antennas { | ||
| + | compatible = " | ||
| + | pinctrl-0 = <& | ||
| + | pinctrl-names = " | ||
| + | ext_antenna_en { | ||
| + | label = " | ||
| + | gpios = <& | ||
| + | }; | ||
| + | }; | ||
| + | |||
| + | modem { | ||
| + | compatible = " | ||
| + | pinctrl-0 = <& | ||
| + | pinctrl-names = " | ||
| + | modem_reset { | ||
| + | label = " | ||
| + | gpios = <& | ||
| + | }; | ||
| + | |||
| + | w_disable { | ||
| + | label = " | ||
| + | gpios = <& | ||
| + | }; | ||
| + | }; | ||
| + | |||
| + | leds { | ||
| + | compatible = " | ||
| + | |||
| + | red { | ||
| + | gpios = <& | ||
| + | default-state = " | ||
| + | }; | ||
| + | green { | ||
| + | gpios = <& | ||
| + | default-state = " | ||
| + | }; | ||
| + | blue { | ||
| + | gpios = <& | ||
| + | default-state = " | ||
| + | }; | ||
| + | |||
| + | yellow_mix { | ||
| + | default-state = " | ||
| + | virtuals = <0>, <1>, < | ||
| + | }; | ||
| + | blue_mix { | ||
| + | default-state = " | ||
| + | virtuals = <1>, <2>, < | ||
| + | }; | ||
| + | }; | ||
| + | }; | ||
| + | |||
| + | & | ||
| + | pinctrl-0 = <& | ||
| + | pinctrl-names = " | ||
| + | status = " | ||
| + | }; | ||
| + | |||
| + | |||
| + | & | ||
| + | pinctrl-0 = <& | ||
| + | pinctrl-names = " | ||
| + | status = " | ||
| + | }; | ||
| + | |||
| + | & | ||
| + | status = " | ||
| + | }; | ||
| + | |||
| + | & | ||
| + | status = " | ||
| + | }; | ||
| + | |||
| + | & | ||
| + | status = " | ||
| + | }; | ||
| + | |||
| + | & | ||
| + | status = " | ||
| + | }; | ||
| + | |||
| + | & | ||
| + | status = " | ||
| + | }; | ||
| + | |||
| + | &usb3_0 { | ||
| + | status = " | ||
| + | }; | ||
| + | |||
| + | &usb3_1 { | ||
| + | status = " | ||
| + | }; | ||
| + | |||
| + | & | ||
| + | status = " | ||
| + | }; | ||
| + | |||
| + | &crypto { | ||
| + | status = " | ||
| + | }; | ||
| + | |||
| + | &sdhc_1 { | ||
| + | qcom, | ||
| + | 192000000 384000000>; | ||
| + | qcom, | ||
| + | qcom, | ||
| + | status = " | ||
| + | }; | ||
| + | |||
| + | & | ||
| + | status = " | ||
| + | }; | ||
| + | |||
| + | &nand { | ||
| + | pinctrl-0 = <& | ||
| + | pinctrl-names = " | ||
| + | status = " | ||
| + | }; | ||
| + | |||
| + | &pcie0 { | ||
| + | interrupts-extended = <& | ||
| + | <& | ||
| + | <& | ||
| + | <& | ||
| + | <& | ||
| + | <& | ||
| + | <& | ||
| + | |||
| + | interrupt-names = " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | |||
| + | pinctrl-0 = <& | ||
| + | pinctrl-names = " | ||
| + | link_retries_count = < | ||
| + | use_delay = < | ||
| + | }; | ||
| + | |||
| + | &pcie1 { | ||
| + | status = " | ||
| + | }; | ||
| + | |||
| + | & | ||
| + | status = " | ||
| + | }; | ||
| + | |||
| + | & | ||
| + | status = " | ||
| + | }; | ||
| + | |||
| + | &ledc { | ||
| + | pinctrl-0 = <& | ||
| + | pinctrl-names = " | ||
| + | status = " | ||
| + | led0 { | ||
| + | label = " | ||
| + | linux, | ||
| + | }; | ||
| + | led1 { | ||
| + | label = " | ||
| + | linux, | ||
| + | }; | ||
| + | led2 { | ||
| + | label = " | ||
| + | linux, | ||
| + | }; | ||
| + | led3 { | ||
| + | label = " | ||
| + | linux, | ||
| + | }; | ||
| + | led4 { | ||
| + | label = " | ||
| + | linux, | ||
| + | }; | ||
| + | led5 { | ||
| + | label = " | ||
| + | linux, | ||
| + | }; | ||
| + | led6 { | ||
| + | label = " | ||
| + | linux, | ||
| + | }; | ||
| + | led7 { | ||
| + | label = " | ||
| + | linux, | ||
| + | }; | ||
| + | led8 { | ||
| + | label = " | ||
| + | linux, | ||
| + | }; | ||
| + | led9 { | ||
| + | label = " | ||
| + | linux, | ||
| + | }; | ||
| + | led10 { | ||
| + | label = " | ||
| + | linux, | ||
| + | }; | ||
| + | led11 { | ||
| + | label = " | ||
| + | linux, | ||
| + | }; | ||
| + | led12 { | ||
| + | label = " | ||
| + | linux, | ||
| + | }; | ||
| + | }; | ||
| + | |||
| + | & | ||
| + | mhi-wdt-panic-enable; | ||
| + | }; | ||
| + | |||
| + | & | ||
| + | |||
| + | # | ||
| + | # | ||
| + | |||
| + | status = " | ||
| + | aliases { | ||
| + | mhi-netdev0 = & | ||
| + | mhi_netdev2 = & | ||
| + | }; | ||
| + | mhi_0: qcom,mhi@0 { | ||
| + | reg = <0 0 0 0 0 >; | ||
| + | |||
| + | ap2mdm = < | ||
| + | mdm2ap = < | ||
| + | |||
| + | /* controller specific configuration */ | ||
| + | qcom, | ||
| + | |||
| + | |||
| + | /* mhi bus specific settings */ | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | |||
| + | mhi_channels: | ||
| + | # | ||
| + | # | ||
| + | |||
| + | mhi_chan@0 { | ||
| + | reg = < | ||
| + | label = " | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,ee = < | ||
| + | }; | ||
| + | |||
| + | mhi_chan@1 { | ||
| + | reg = < | ||
| + | label = " | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,ee = < | ||
| + | }; | ||
| + | |||
| + | mhi_chan@4 { | ||
| + | reg = < | ||
| + | label = " | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,ee = < | ||
| + | }; | ||
| + | |||
| + | mhi_chan@5 { | ||
| + | reg = < | ||
| + | label = " | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,ee = < | ||
| + | }; | ||
| + | |||
| + | mhi_chan@14 { | ||
| + | reg = < | ||
| + | label = " | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,ee = < | ||
| + | }; | ||
| + | |||
| + | mhi_chan@15 { | ||
| + | reg = < | ||
| + | label = " | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,ee = < | ||
| + | }; | ||
| + | |||
| + | mhi_chan@16 { | ||
| + | reg = < | ||
| + | label = " | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,ee = < | ||
| + | }; | ||
| + | |||
| + | mhi_chan@17 { | ||
| + | reg = < | ||
| + | label = " | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,ee = < | ||
| + | }; | ||
| + | |||
| + | mhi_chan@18 { | ||
| + | reg = < | ||
| + | label = " | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,ee = < | ||
| + | }; | ||
| + | |||
| + | mhi_chan@19 { | ||
| + | reg = < | ||
| + | label = " | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,ee = < | ||
| + | mhi, | ||
| + | }; | ||
| + | |||
| + | mhi_chan@20 { | ||
| + | reg = < | ||
| + | label = " | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,ee = < | ||
| + | mhi, | ||
| + | }; | ||
| + | |||
| + | mhi_chan@21 { | ||
| + | reg = < | ||
| + | label = " | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,ee = < | ||
| + | mhi, | ||
| + | mhi, | ||
| + | }; | ||
| + | |||
| + | mhi_chan@46 { | ||
| + | reg = < | ||
| + | label = " | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,ee = < | ||
| + | }; | ||
| + | |||
| + | mhi_chan@47 { | ||
| + | reg = < | ||
| + | label = " | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,ee = < | ||
| + | }; | ||
| + | |||
| + | mhi_chan@100 { | ||
| + | reg = < | ||
| + | label = " | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,ee = < | ||
| + | mhi, | ||
| + | }; | ||
| + | |||
| + | mhi_chan@101 { | ||
| + | reg = < | ||
| + | label = " | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,ee = < | ||
| + | }; | ||
| + | |||
| + | mhi_chan@102 { | ||
| + | reg = < | ||
| + | label = " | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,ee = < | ||
| + | mhi, | ||
| + | mhi, | ||
| + | }; | ||
| + | |||
| + | }; | ||
| + | |||
| + | mhi_events: | ||
| + | # | ||
| + | # | ||
| + | |||
| + | mhi_event@0 { | ||
| + | reg = < | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,msi = < | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | }; | ||
| + | |||
| + | mhi_event@1 { | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,msi = < | ||
| + | mhi, | ||
| + | mhi, | ||
| + | }; | ||
| + | |||
| + | mhi_event@2 { | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,msi = < | ||
| + | mhi, | ||
| + | mhi, | ||
| + | }; | ||
| + | |||
| + | mhi_event@3 { | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,msi = < | ||
| + | mhi, | ||
| + | mhi, | ||
| + | }; | ||
| + | |||
| + | mhi_event@4 { | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,msi = < | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | }; | ||
| + | |||
| + | mhi_event@5 { | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,msi = < | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | }; | ||
| + | |||
| + | |||
| + | mhi_event@6 { | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,msi = < | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | }; | ||
| + | |||
| + | mhi_event@7 { | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,msi = < | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | }; | ||
| + | |||
| + | |||
| + | mhi_event@8 { | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,msi = < | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | }; | ||
| + | |||
| + | mhi_event@9 { | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,msi = < | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | }; | ||
| + | |||
| + | mhi_event@10 { | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,msi = < | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | }; | ||
| + | |||
| + | mhi_event@11 { | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,msi = < | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | }; | ||
| + | |||
| + | mhi_event@12 { | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,msi = < | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | }; | ||
| + | |||
| + | mhi_event@13 { | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,msi = < | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi, | ||
| + | }; | ||
| + | }; | ||
| + | |||
| + | mhi_devices: | ||
| + | # | ||
| + | # | ||
| + | |||
| + | mhi_netdev_0: | ||
| + | reg = < | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,mru = < | ||
| + | mhi, | ||
| + | }; | ||
| + | |||
| + | mhi_rmnet@1 { | ||
| + | reg = < | ||
| + | mhi, | ||
| + | mhi,mru = < | ||
| + | mhi, | ||
| + | }; | ||
| + | |||
| + | mhi_netdev_2: | ||
| + | reg = < | ||
| + | mhi, | ||
| + | mhi, | ||
| + | mhi,mru = < | ||
| + | mhi, | ||
| + | }; | ||
| + | |||
| + | mhi_qrtr { | ||
| + | mhi, | ||
| + | qcom, | ||
| + | }; | ||
| + | }; | ||
| + | |||
| + | }; | ||
| + | }; | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Notes ===== | ||
| + | There is potential | ||
| + | https:// | ||
| + | |||
| + | The unit has 2x OS images on NAND flash, one image is for normal operation and the other one is for recovering of firmware or upgrading. | ||
| Line 2466: | Line 4621: | ||
| ===== Tags ===== | ===== Tags ===== | ||
| [[meta: | [[meta: | ||
| - | {{tag>EXAMPLETAG | + | {{tag>ipq807x ipq8074a QCA8081 QCN5054 QCN5024 AR8033-AL1A QPF4588 SKY85340-11 128nand 512ram 2port gigabitethernet 2.5gigabitethernet 2port 4core wifi6 802.11ax 802.11abgn 8x8 MU-MIMO OFDMA ARMv8 LTE 1SIM InternalAntenna 4g 5g_mm_wave 2_ant 1_button 12v_powered |
| + | |||
| + | |||