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 | ||
| toh:f-secure:sense [2022/10/23 08:13] – [Photos] plappermaul | toh:f-secure:sense [2022/11/01 20:48] – [PCIe infos] plappermaul | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== F-Secure Sense ====== | ====== F-Secure Sense ====== | ||
| + | ===== Supported Versions ===== | ||
| + | The device is not yet supported. Available code includes | ||
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * Initial PR https:// | ||
| + | |||
| + | ===== Current state ===== | ||
| + | |||
| + | * add initial build option in realtek tree: done | ||
| + | * GIC enabling: done | ||
| + | * Serial console access: done | ||
| + | * 2 Core SMP: done | ||
| + | * USB support: done (new xHCI driver) | ||
| + | * PCIE support: TODO | ||
| + | * chip network driver: TODO | ||
| + | * switch driver: TODO | ||
| + | * SPI driver: TODO | ||
| + | * MTD NAND driver: TODO | ||
| + | * I2C driver [[https:// | ||
| ===== Hardware ===== | ===== Hardware ===== | ||
| + | |||
| + | ==== Hardware Highlights ==== | ||
| + | |||
| + | Realtek RTL8198C dual core SoC with 512 MB RAM and 1024 MB Flash. | ||
| + | |||
| + | ==== USB infos ==== | ||
| + | |||
| + | < | ||
| + | root@OpenWrt:/# | ||
| + | Bus 001 Device 001: ID 1d6b:0002 - Linux Foundation 2.0 root hub | ||
| + | Bus 002 Device 001: ID 1d6b:0003 - Linux Foundation 3.0 root hub | ||
| + | </ | ||
| + | |||
| + | ==== PCIe infos ==== | ||
| + | |||
| + | < | ||
| + | root@OpenWrt:/# | ||
| + | 00:00.0 Class 0604: 10ec:8198 | ||
| + | 03:00.0 Class 0280: 10ec:8813 - RTL8813AE 802.11ac PCIe Wireless Network Adapter | ||
| + | 02:00.0 Class 0604: 10ec:8198 | ||
| + | 01:00.0 Class 0280: 10ec:8813 - RTL8813AE 802.11ac PCIe Wireless Network Adapter | ||
| + | </ | ||
| ==== Photos ==== | ==== Photos ==== | ||
| {{: | {{: | ||
| + | {{: | ||
| + | To open the device proceed as follows: | ||
| + | |||
| + | * The grey base cover is attached by sturdy clips. So it won't be easy to remove it. Best way is to bend the cover at the cracked location on the second picture. | ||
| + | * Afterwards you can open the top cover with the holes in the same way. This will be a lot easier. | ||
| + | * Remove some screws and slide out the mainboard to the top. | ||
| + | |||
| + | |||
| + | ===== OpenWRT Image ===== | ||
| + | |||
| + | ==== Building ==== | ||
| + | |||
| + | Ensure that you use patches from https:// | ||
| + | |||
| + | < | ||
| + | [plappermaul@fedora rtl8198c]$ ls -al bin/ | ||
| + | total 19752 | ||
| + | drwxr-xr-x. 3 plappermaul plappermaul | ||
| + | drwxr-xr-x. 5 plappermaul plappermaul | ||
| + | -rw-r--r--. 1 plappermaul plappermaul | ||
| + | -rw-r--r--. 1 plappermaul plappermaul | ||
| + | -rw-r--r--. 1 plappermaul plappermaul | ||
| + | -rw-r--r--. 1 plappermaul plappermaul | ||
| + | -rw-r--r--. 1 plappermaul plappermaul 11010853 27. Okt 09:00 openwrt-realtek-rtl8198c-f-secure_sense-squashfs-sysupgrade.bin | ||
| + | drwxr-xr-x. 2 plappermaul plappermaul | ||
| + | -rw-r--r--. 1 plappermaul plappermaul | ||
| + | -rw-r--r--. 1 plappermaul plappermaul | ||
| + | -rw-r--r--. 1 plappermaul plappermaul | ||
| + | </ | ||
| + | ==== Initramfs boot using serial console and TFTP ==== | ||
| + | |||
| + | Rename initramfs image to nfjrom. This is essential because the filename triggers the kernel jump/ | ||
| + | |||
| + | < | ||
| + | cp build_dir/ | ||
| + | </ | ||
| + | |||
| + | In Sense bootloader enable TFTP and disable auto flashing | ||
| + | |||
| + | < | ||
| + | ---Ethernet init Okay! | ||
| + | < | ||
| + | AutoBurning=0 | ||
| + | < | ||
| + | Changing status of the tftpd to 1 | ||
| + | < | ||
| + | Set TFTP Load Addr 0x84000000 | ||
| + | </ | ||
| + | |||
| + | On PC site upload image with filename " | ||
| + | |||
| + | < | ||
| + | tftp -i 192.168.1.6 put nfjrom | ||
| + | </ | ||
| + | |||
| + | After upload finishes system will automatically jump to the start address of the image, execute the lzma loader and fire up the kernel. | ||
| + | |||
| + | < | ||
| + | < | ||
| + | TFTP Client Upload, File Name: nfjrom | ||
| + | - | ||
| + | TFTP Client Upload File Size = 002EF850 Bytes at 84000000 | ||
| + | |||
| + | Success! | ||
| + | < | ||
| + | </ | ||
| ==== Serial Console ==== | ==== Serial Console ==== | ||
| + | The serial console uses 3.3V with 38400 Baud and 8N1 coding. The signals are inverted. So either you have to use an external inverter or must remove and shortcut the inverting transistors as shown on the second picture. | ||
| + | < | ||
| + | UART pinout | ||
| + | ----------- | ||
| + | [o]ooo | ||
| + | ^ ||`------ GND | ||
| + | | |`------- TX | ||
| + | | `-------- GND | ||
| + | | ||
| + | </ | ||
| + | |||
| + | {{: | ||
| + | {{: | ||
| ===== Bootlogs ===== | ===== Bootlogs ===== | ||
| + | |||
| + | |||
| + | ==== OEM bootloader ==== | ||
| + | |||
| + | Press ESC during bootup to get into the [[: | ||
| + | |||
| + | < | ||
| + | NNaanndd | ||
| + | DRAM init done | ||
| + | Nand booting.. | ||
| + | initHeap | ||
| + | |||
| + | initInterrupt | ||
| + | |||
| + | |||
| + | Scanning NAND registered database ... | ||
| + | => Found registed NAND Flash, info as below: | ||
| + | 1.Chip_name= MT29F8G08AB | ||
| + | 2.ID= 0x2c380026 | ||
| + | 3.Chip_size= 1073741824 MB | ||
| + | 4.Block_cnt= 2048 | ||
| + | 5.Block_size= 512 KB | ||
| + | 6.Page_size= 4096 Bytes | ||
| + | 7.OobSize= 128 KB | ||
| + | |||
| + | initFlash | ||
| + | DDR3:512 MB | ||
| + | |||
| + | ---Realtek RTL8198C boot code at 2017.08.30-14: | ||
| + | |||
| + | showBoardInfo() | ||
| + | |||
| + | RTL_W32(RTL_GPIO_MUX5(...) | ||
| + | |||
| + | RTL_W32(RTL_GPIO_MUX5(RESET_PIN_IOBASE, | ||
| + | sorftled init! | ||
| + | |||
| + | BOOTInfo: Status: BootBank:0 BootCnt:1 BootMode:1 BootMaxCnt: | ||
| + | |||
| + | *** BOOTInfo: Check PASSED *** | ||
| + | |||
| + | ... Booting from BANK-0 ... | ||
| + | ---Escape booting by user | ||
| + | |||
| + | ---Ethernet init Okay! | ||
| + | < | ||
| + | ----------------- COMMAND MODE HELP ------------------ | ||
| + | HELP (?) : Print this help message | ||
| + | DB < | ||
| + | DW < | ||
| + | EB < | ||
| + | EW < | ||
| + | CMP: CMP < | ||
| + | IPCONFIG:< | ||
| + | AUTOBURN: 0/1 | ||
| + | LOADADDR: <Load Address> | ||
| + | J: Jump to < | ||
| + | reboot | ||
| + | NANDID: Read NAND Flash ID | ||
| + | NANDBE:< | ||
| + | NANDPIOR:< | ||
| + | NANDPIOW:< | ||
| + | NANDR:< | ||
| + | NANDW:< | ||
| + | NANDBBD:< | ||
| + | MDIOR: | ||
| + | MDIOW: | ||
| + | PHYR: PHYR < | ||
| + | PHYW: PHYW < | ||
| + | PHYPR: PHYPR < | ||
| + | PHYPW: PHYPW < | ||
| + | XMOD < | ||
| + | TI : timer init | ||
| + | T : test | ||
| + | HRST: Host Pcie Reset < | ||
| + | HINIT: Host init bar < | ||
| + | HLOOP: Test Pci-E data loopback < | ||
| + | EPDN: PCIE Power Down test < | ||
| + | EMDIOR: Reg Read < | ||
| + | EMDIOW < | ||
| + | ELOOP < | ||
| + | EINT < | ||
| + | PHY_BEGIN: | ||
| + | ETH : startup Ethernet | ||
| + | CPUClk: | ||
| + | C1Wake : Core 1 wake Up | ||
| + | GBIST: GPHY BIST | ||
| + | GDRF: GPHY DRF BIST | ||
| + | BISTALL: | ||
| + | Factory-Firmware: | ||
| + | ENABLE_TFTP: | ||
| + | </ | ||
| ==== OEM bootlog ==== | ==== OEM bootlog ==== | ||
| + | |||
| + | The vendor firmware is based on OpenWrt Chaos Calmer. | ||
| <WRAP bootlog> | <WRAP bootlog> | ||
| Line 347: | Line 562: | ||
| ==== OpenWrt bootlog ==== | ==== OpenWrt bootlog ==== | ||
| + | |||
| + | Current master build with https:// | ||
| + | |||
| + | <WRAP bootlog> | ||
| + | < | ||
| + | < | ||
| + | |||
| + | |||
| + | OpenWrt kernel loader for MIPS based SoC | ||
| + | Copyright (C) 2011 Gabor Juhos | ||
| + | Decompressing kernel... done! | ||
| + | Starting kernel at 80000000... | ||
| + | |||
| + | [ 0.000000] Linux version 5.10.146 (plappermaul@fedora) (mips-openwrt-linux-musl-gcc (OpenWrt GCC 11.3.0 r20179+24-57cad53f4e) 11.3.0, GNU ld (GNU Binutils) 2.37) #0 SMP Mon Oct 3 11:23:41 2022 | ||
| + | [ 0.000000] RTL838X model is 0 | ||
| + | [ 0.000000] RTL839X model is 0 | ||
| + | [ 0.000000] RTL93XX model is 0 | ||
| + | [ 0.000000] RTL819X model is 8198c001 | ||
| + | [ 0.000000] SoC Type: RTL8198C | ||
| + | [ 0.000000] default cpc 1bde0001 | ||
| + | [ 0.000000] Kernel command line: | ||
| + | [ 0.000000] CPU0 revision is: 00019a24 (MIPS 1074Kc) | ||
| + | [ 0.000000] MIPS: machine is F-Secure Sense | ||
| + | [ 0.000000] Initrd not found or empty - disabling initrd | ||
| + | [ 0.000000] Using appended Device Tree. | ||
| + | [ 0.000000] VPE topology {1,1} total 2 | ||
| + | [ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes. | ||
| + | [ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes | ||
| + | [ 0.000000] MIPS secondary cache 512kB, 8-way, linesize 32 bytes. | ||
| + | [ 0.000000] Zone ranges: | ||
| + | [ 0.000000] | ||
| + | [ 0.000000] Movable zone start for each node | ||
| + | [ 0.000000] Early memory node ranges | ||
| + | [ 0.000000] | ||
| + | [ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff] | ||
| + | [ 0.000000] percpu: Embedded 14 pages/cpu s27792 r8192 d21360 u57344 | ||
| + | [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 32480 | ||
| + | [ 0.000000] Kernel command line: console=ttyS0, | ||
| + | [ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear) | ||
| + | [ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear) | ||
| + | [ 0.000000] Writing ErrCtl register=00000000 | ||
| + | [ 0.000000] Readback ErrCtl register=00000000 | ||
| + | [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off | ||
| + | [ 0.000000] Memory: 100224K/ | ||
| + | [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, | ||
| + | [ 0.000000] rcu: Hierarchical RCU implementation. | ||
| + | [ 0.000000] | ||
| + | [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies. | ||
| + | [ 0.000000] NR_IRQS: 256 | ||
| + | [ 0.000000] Failed to get CPU clock: -2 | ||
| + | [ 0.000000] CPU frequency from device tree: 1000MHz | ||
| + | [ 0.000000] clocksource: | ||
| + | [ 0.000010] sched_clock: | ||
| + | [ 0.000041] clocksource: | ||
| + | [ 0.000184] Calibrating delay loop... 498.89 BogoMIPS (lpj=2494464) | ||
| + | [ 0.060029] pid_max: default: 32768 minimum: 301 | ||
| + | [ 0.060160] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear) | ||
| + | [ 0.060174] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear) | ||
| + | [ 0.061454] Using only one core due to dcache aliasing | ||
| + | [ 0.062220] Performance counters: mips/1074K PMU enabled, 4 32-bit counters available to each CPU, irq 7 | ||
| + | [ 0.062373] rcu: Hierarchical SRCU implementation. | ||
| + | [ 0.062580] dyndbg: Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build | ||
| + | [ 0.062764] smp: Bringing up secondary CPUs ... | ||
| + | [ 0.064132] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes. | ||
| + | [ 0.064139] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes | ||
| + | [ 0.064147] MIPS secondary cache 512kB, 8-way, linesize 32 bytes. | ||
| + | [ 0.064216] CPU1 revision is: 00019a24 (MIPS 1074Kc) | ||
| + | [ 0.123414] Synchronize counters for CPU 1: done. | ||
| + | [ 0.123545] smp: Brought up 1 node, 2 CPUs | ||
| + | [ 0.124666] clocksource: | ||
| + | [ 0.124691] futex hash table entries: 512 (order: 2, 16384 bytes, linear) | ||
| + | [ 0.124829] pinctrl core: initialized pinctrl subsystem | ||
| + | [ 0.125511] NET: Registered protocol family 16 | ||
| + | [ 0.150175] SCSI subsystem initialized | ||
| + | [ 0.150418] usbcore: registered new interface driver usbfs | ||
| + | [ 0.150472] usbcore: registered new interface driver hub | ||
| + | [ 0.150517] usbcore: registered new device driver usb | ||
| + | [ 0.152860] clocksource: | ||
| + | [ 0.153959] NET: Registered protocol family 2 | ||
| + | [ 0.154182] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear) | ||
| + | [ 0.154821] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear) | ||
| + | [ 0.154889] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear) | ||
| + | [ 0.154921] TCP bind hash table entries: 1024 (order: 1, 8192 bytes, linear) | ||
| + | [ 0.154962] TCP: Hash tables configured (established 1024 bind 1024) | ||
| + | [ 0.155074] UDP hash table entries: 256 (order: 1, 8192 bytes, linear) | ||
| + | [ 0.155134] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear) | ||
| + | [ 0.155355] NET: Registered protocol family 1 | ||
| + | [ 0.364219] workingset: timestamp_bits=14 max_order=15 bucket_order=1 | ||
| + | [ 0.367170] squashfs: version 4.0 (2009/ | ||
| + | [ 0.367270] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. | ||
| + | [ 0.368782] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled | ||
| + | [ 0.369545] printk: console [ttyS0] disabled | ||
| + | [ 0.369639] 18002000.uart: | ||
| + | [ 1.952015] printk: console [ttyS0] enabled | ||
| + | [ 1.967468] usbcore: registered new interface driver usb-storage | ||
| + | [ 1.988125] NET: Registered protocol family 10 | ||
| + | [ 2.003933] Segment Routing with IPv6 | ||
| + | [ 2.016142] NET: Registered protocol family 17 | ||
| + | [ 2.030869] 8021q: 802.1Q VLAN Support v1.8 | ||
| + | [ 2.144174] Freeing unused kernel memory: 21856K | ||
| + | [ 2.159503] This architecture does not have kernel memory protection. | ||
| + | [ 2.180855] Run /init as init process | ||
| + | [ 2.570058] init: Console is alive | ||
| + | [ 2.592950] kmodloader: loading kernel modules from / | ||
| + | [ 2.618692] kmodloader: done loading kernel modules from / | ||
| + | [ 2.652938] init: - preinit - | ||
| + | [ 2.814185] random: jshn: uninitialized urandom read (4 bytes read) | ||
| + | [ 2.901180] random: jshn: uninitialized urandom read (4 bytes read) | ||
| + | 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 debug level | ||
| + | [ 5.143909] procd: - early - | ||
| + | [ 5.665332] procd: - ubus - | ||
| + | [ 5.679638] random: ubusd: uninitialized urandom read (4 bytes read) | ||
| + | [ 5.725020] random: ubusd: uninitialized urandom read (4 bytes read) | ||
| + | [ 5.746277] random: ubusd: uninitialized urandom read (4 bytes read) | ||
| + | [ 5.768441] procd: - init - | ||
| + | Please press Enter to activate this console. | ||
| + | [ 6.093303] kmodloader: loading kernel modules from / | ||
| + | [ 6.119854] NET: Registered protocol family 38 | ||
| + | [ 6.139330] urngd: v1.0.2 started. | ||
| + | [ 6.154609] cryptodev: driver 1.12 loaded. | ||
| + | [ 6.170604] GACT probability on | ||
| + | [ 6.182269] Mirror/ | ||
| + | [ 6.202201] u32 classifier | ||
| + | [ 6.211179] | ||
| + | [ 6.223295] | ||
| + | [ 6.297292] kmodloader: done loading kernel modules from / | ||
| + | [ 6.297648] random: crng init done | ||
| + | [ 6.331122] random: 19 urandom warning(s) missed due to ratelimiting | ||
| + | |||
| + | BusyBox v1.35.0 (2022-10-26 07:59:38 UTC) built-in shell (ash) | ||
| + | |||
| + | _______ | ||
| + | | ||
| + | | ||
| + | | ||
| + | |__| W I R E L E S S F R E E D O M | ||
| + | | ||
| + | | ||
| + | | ||
| + | === WARNING! ===================================== | ||
| + | There is no root password defined on this device! | ||
| + | Use the " | ||
| + | in order to prevent unauthorized SSH logins. | ||
| + | -------------------------------------------------- | ||
| + | </ | ||
| + | </ | ||
| + | |||