Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
zyxel_xs1930_series [2020/11/23 06:33] bkoblitzzyxel_xs1930_series [2022/11/15 15:48] (current) – Remove trailing space pmenzel
Line 6: Line 6:
 | XS1930-10 | 8 | 2 | - | | XS1930-10 | 8 | 2 | - |
 | XS1930-12HP | 10 | 2 | 8 | | XS1930-12HP | 10 | 2 | 8 |
 +| XS1930-12F | 2 | 10 | - |
  
 ===== Models ===== ===== Models =====
Line 18: Line 19:
   * 3-pin fan   * 3-pin fan
  
-The serial port is accessible via pins from from the outside on the right side of the device. Pins are front to back: GND, TX, RX, Vcc. +The serial port is accessible via pins from the outside on the right side of the device. Pins are front to back: GND, TX, RX, Vcc. 
-Port settings are 115200 baud, 8n1, with 3.logic level.+Port settings are 115200 baud, 8n1, with 3.3V logic level
 + 
 +If you are using a Raspberry Pi, ensure that the serial port is activated first, many guides list these steps, here is a decent guide: https://www.engineersgarage.com/articles-raspberry-pi-serial-communication-uart-protocol-ttl-port-usb-serial-boards/ 
 + 
 +Once wired up, and the serial port is enabled test that this works.  Confirm the system can use the port. 
 + 
 +  $ setserial -g /dev/ttyS[0123] 
 +   
 +  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4 
 +  /dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3 
 +  /dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4 
 +  /dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3 
 + 
 +It's likely /dev/ttyS0, use Linux's cli, 'cu'  
 + 
 +  $ cu -l /dev/ttyS0 -s 115200 
 + 
 +If done correctly, you will be presented with a login prompt, the login credentials for the web interface and this serial interface are the same.  Test that the system is wired properly before restarting.  Quite from cu with ~.  , that's a tilde, followed by a period.
  
 === Photos === === Photos ===
Line 25: Line 43:
 | Overview | {{:wiki:xs1930-10_overview.jpg?200|inside overview}} | | Overview | {{:wiki:xs1930-10_overview.jpg?200|inside overview}} |
 | Main board | {{:wiki:xs1930-10_pcb.jpg?200|main board overview}} {{:wiki:xs1930-10_back.jpg?200|main board back side}}  | | Main board | {{:wiki:xs1930-10_pcb.jpg?200|main board overview}} {{:wiki:xs1930-10_back.jpg?200|main board back side}}  |
 +| Serial port location | {{:pxl_20220615_023152806.jpg?200|}} {{:pxl_20220615_023152806--highlight.jpg?200|}} |
 +| Serial Port connected (raspi client) | {{:pxl_20220615_023958093--connected.jpg?200|}} |
  
 ===== Firmware ===== ===== Firmware =====
Line 355: Line 375:
 </code> </code>
 You can directly load RasCode_image.bin into a disassembler at memory location 0x80274000 for analysis (see above: 2: RasCode(RAMCODE), start=0x80274000, len=4000000). Add a RAM segment after this: (3: RasData(RAM), start=0x84274000, len=9C8C000). You can directly load RasCode_image.bin into a disassembler at memory location 0x80274000 for analysis (see above: 2: RasCode(RAMCODE), start=0x80274000, len=4000000). Add a RAM segment after this: (3: RasData(RAM), start=0x84274000, len=9C8C000).
 +
 +===== OpenWrt =====
 +A very initial boot of OpenWrt looks like this:
 +<code>
 +    [    0.000000] Calling smp_setup_processor_id
 +    [    0.000000] Calling boot_cpu_init
 +    [    0.000000] Linux version 5.4.70 (birger@AMDDesktop) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r14727-627da9a38c)) #0 Thu Oct 29 18:33:33 2020
 +    [    0.000000] prom_init called
 +    [    0.000000] RTL838X model is 0
 +    [    0.000000] RTL839X model is 0
 +    [    0.000000] RTL93XX model is 93130001
 +    [    0.000000] SoC Type: RTL9313
 +    [    0.000000] Kernel command line: 
 +    [    0.000000] printk: bootconsole [early0] enabled
 +    [    0.000000] CPU0 revision is: 0001a120 (MIPS interAptiv (multi))
 +    [    0.000000] plat_mem_setup called
 +    [    0.000000] MIPS: machine is Zyxel XS1900-10
 +    [    0.000000] Registering _machine_restart
 +    [    0.000000] NO PCI device found
 +    [    0.000000] Initrd not found or empty - disabling initrd
 +    [    0.000000] device_tree_init called
 +    [    0.000000] Using appended Device Tree.
 +    [    0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
 +    [    0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
 +    [    0.000000] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
 +    [    0.000000] Zone ranges:
 +    [    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
 +    [    0.000000] Movable zone start for each node
 +    [    0.000000] Early memory node ranges
 +    [    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
 +    [    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
 +    [    0.000000] On node 0 totalpages: 32768
 +    [    0.000000]   Normal zone: 288 pages used for memmap
 +    [    0.000000]   Normal zone: 0 pages reserved
 +    [    0.000000]   Normal zone: 32768 pages, LIFO batch:7
 +    [    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
 +    [    0.000000] pcpu-alloc: [0] 0 
 +    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32480
 +    [    0.000000] Kernel command line: console=ttyS0,115200
 +    [    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: 114840K/131072K available (4758K kernel code, 167K rwdata, 1056K rodata, 8732K init, 199K bss, 16232K reserved, 0K cma-reserved)
 +    [    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
 +    [    0.000000] NR_IRQS: 64
 +    [    0.000000] Found Interrupt controller: cpuintc (cpuintc)
 +    [    0.000000] ICU Memory: b8003000
 +    [    0.000000] random: get_random_bytes called from start_kernel+0x398/0x580 with crng_init=0
 +    [    0.000000] CPU frequency from device tree: 700000000
 +    [    0.000000] CPU Clock: 700 MHz
 +    [    0.000000] PLL control register: 0
 +    [    0.000000] Found NS16550a: uart (uart@b8002000)
 +    [    0.000000] Using default baud rate: 38400
 +    b[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 5460744132 ns
 +    [    0.000011] sched_clock: 32 bits at 350MHz, resolution 2ns, wraps every 6135667710ns
 +    [    2.733736] printk: console [ttyS0] enabled
 +    [    2.733736] printk: console [ttyS0] enabled
 +    [    4.214661] printk: bootconsole [early0] disabled
 +    [    4.214661] printk: bootconsole [early0] disabled
 +    [    5.880845] Calibrating delay loop... 464.38 BogoMIPS (lpj=928768)
 +    [    5.918555] pid_max: default: 32768 minimum: 301
 +    [    5.926097] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
 +    [    5.937684] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
 +    [    5.956103] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
 +    [    5.971604] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
 +    [    5.982629] pinctrl core: initialized pinctrl subsystem
 +    [    5.991980] NET: Registered protocol family 16
 +    [    5.999926] cpuidle: using governor ladder
 +    [    6.053678] workqueue: max_active 576 requested for napi_workq is out of range, clamping between 1 and 512
 +    [    6.074570] clocksource: Switched to clocksource MIPS
 +    [    6.084551] NET: Registered protocol family 2
 +    [    6.092686] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
 +    [    6.106015] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
 +    [    6.118152] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
 +    [    6.129314] TCP: Hash tables configured (established 1024 bind 1024)
 +    [    6.139640] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
 +    [    6.150064] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
 +    [    6.161582] NET: Registered protocol family 1
 +    [    6.623572] workingset: timestamp_bits=14 max_order=15 bucket_order=1
 +    [    6.642136] squashfs: version 4.0 (2009/01/31) Phillip Lougher
 +    [    6.651435] jffs2: version 2.2 (NAND) (SUMMARY) (ZLIB) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
 +    [    6.701133] Probing RTL838X GPIOs
 +    [    6.706472] Unknown GPIO chip id (9313)
 +    [    6.763285] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
 +    [    6.773669] serial8250: ttyS0 at MMIO 0x0 (irq = 0, base_baud = 12442400) is a 16550A
 +    [    6.787719] b8002100.uart: ttyS1 at MMIO 0xb8002100 (irq = 30, base_baud = 12500000) is a 16550A
 +    [    7.029159] brd: module loaded
 +    [    7.034875] Initializing rtl838x_nor_driver
 +    [    7.041589] SPI resource base is b8001200
 +    [    7.047936] Address mode is 3 bytes
 +    [    7.053441] rtl838x_nor_init called
 +    [    7.060984] rtl838x-nor b8001200.spi: mx25l25635e (32768 Kbytes)
 +    [    7.070668] 7 fixed-partitions partitions found on MTD device rtl838x_nor
 +    [    7.081412] Creating 7 MTD partitions on "rtl838x_nor":
 +    [    7.089693] 0x000000000000-0x000000040000 : "u-boot"
 +    [    7.099307] 0x000000040000-0x000000050000 : "u-boot-env"
 +    [    7.109428] 0x000000050000-0x000000060000 : "u-boot-env2"
 +    [    7.119797] 0x000000060000-0x000000160000 : "jffs"
 +    [    7.129070] 0x000000160000-0x000000260000 : "jffs2"
 +    [    7.138489] 0x000000260000-0x000000930000 : "runtime"
 +    [    7.168966] 0x000000930000-0x000001000000 : "runtime2"
 +    [    7.179185] Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
 +    [    7.196034] libphy: Fixed MDIO Bus: probed
 +    [    7.202776] Probing RTL838X switch device
 +    [    7.209210] Chip-Info: 0
 +    [    7.213223] Chip version A
 +    [    7.217499] In rtl838x_mdio_probe
 +    [    7.222783] Found compatible MDIO node!
 +    [    7.228843] Deferring probe of mdio bus
 +    [    7.235606] Probing RTL838X eth device pdev: 87c6c200, dev: 87c6c210
 +    [    7.267380] Found SoC ID: 9313: RTL9313, family 9310
 +    [    7.275232] rtl8380_init_mac
 +    [    7.279842] rtl838x-eth bb00a300.ethernet (unnamed net_device) (uninitialized): Invalid MAC address, using random
 +    [    7.296077] In rtl838x_set_mac_hw
 +    [    7.301315] Using MAC 0000d2270eff996a
 +    [    7.307244] Using MAC 0000d2270eff996a
 +    [    7.313159] rtl838x_mdio_init called
 +    [    7.319118] libphy: rtl839x-eth-mdio: probed
 +    [    7.706251] In rtl838x_validate
 +    [    7.711393] In rtl838x_validate
 +    [    7.716632] i2c /dev entries driver
 +    [    7.724338] NET: Registered protocol family 10
 +    [    7.740036] Segment Routing with IPv6
 +    [    7.746079] NET: Registered protocol family 17
 +    [    7.753816] 8021q: 802.1Q VLAN Support v1.8
 +    [    7.761510] Probing RTL838X switch device
 +    [    7.767996] Chip-Info: 0
 +    [    7.772015] Chip version A
 +    [    7.776292] In rtl838x_mdio_probe
 +    [    7.781572] Found compatible MDIO node!
 +    [    7.891354] rtl838x-switch: probe of 0.switch failed with error -5
 +    [    7.927723] Freeing unused kernel memory: 8732K
 +    [    7.934917] This architecture does not have kernel memory protection.
 +    [    7.945087] Run /init as init process
 +    [    8.075879] init: Console is alive
 +    [    8.117882] kmodloader: loading kernel modules from /etc/modules-boot.d/*
 +    [    8.133249] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
 +    [    8.159197] init: - preinit -
 +    [    8.475963] random: jshn: uninitialized urandom read (4 bytes read)
 +    [    8.573223] random: jshn: uninitialized urandom read (4 bytes read)
 +    ls: /sys/class/net/*/dsa: No such file or directory
 +    [    8.713165] 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
 +     
 +    [   11.991619] procd: - early -
 +    [   13.883957] procd: - ubus -
 +    [   13.902292] urandom_read: 2 callbacks suppressed
 +    [   13.902306] random: ubusd: uninitialized urandom read (4 bytes read)
 +    [   13.939781] random: ubusd: uninitialized urandom read (4 bytes read)
 +    [   13.950929] random: ubusd: uninitialized urandom read (4 bytes read)
 +    [   13.963796] procd: - init -
 +    Please press Enter to activate this console.
 +    [   14.728783] kmodloader: loading kernel modules from /etc/modules.d/*
 +    [   14.799004] Mirror/redirect action on
 +    [   14.842726] u32 classifier
 +    [   14.847072]     input device check on
 +    [   14.852861]     Actions configured
 +    [   14.975248] xt_time: kernel timezone is -0000
 +    [   15.038988] PPP generic driver version 2.4.2
 +    [   15.060796] NET: Registered protocol family 24
 +    [   15.098664] urngd: v1.0.2 started.
 +    [   15.113580] kmodloader: done loading kernel modules from /etc/modules.d/*
 +    [   15.298600] random: crng init done
 +    [   15.304005] random: 2 urandom warning(s) missed due to ratelimiting
 +     
 +     
 +     
 +    BusyBox v1.31.1 () built-in shell (ash)
 +     
 +      _______                     ________        __
 +           |.-----.-----.-----.|  |  |  |.----.|  |_
 +         ||  _  |  -__|     ||  |  |  ||   _||   _|
 +     |_______||   __|_____|__|__||________||__|  |____|
 +              |__| W I R E L E S S   F R E E D O M
 +     -----------------------------------------------------
 +     OpenWrt SNAPSHOT, r14727-627da9a38c
 +     -----------------------------------------------------
 +    === WARNING! =====================================
 +    There is no root password defined on this device!
 +    Use the "passwd" command to set up a new password
 +    in order to prevent unauthorized SSH logins.
 +    --------------------------------------------------
 +root@OpenWrt:/# cat /proc/cpuinfo 
 +system type             : RTL9313
 +machine                 : Zyxel XS1900-10
 +processor               : 0
 +cpu model               : MIPS interAptiv (multi) V2.0
 +BogoMIPS                : 464.38
 +wait instruction        : yes
 +microsecond timers      : yes
 +tlb_entries             : 64
 +extra interrupt vector  : yes
 +hardware watchpoint     : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
 +isa                     : mips1 mips2 mips32r1 mips32r2
 +ASEs implemented        : mips16 dsp mt eva
 +Options implemented     : tlb tlbinv segments 4kex 4k_cache 32fpr prefetch mcheck ejtag llsc pindexed_dcache userlocal perf_cntr_intr_bit cdmm ebase_wg perf
 +shadow register sets    : 1
 +kscratch registers      : 0
 +package                 : 0
 +core                    : 0
 +VCED exceptions         : not available
 +VCEI exceptions         : not available
 +root@OpenWrt:/# cat /proc/interrupts 
 +           CPU0       
 +  2:          0      MIPS    IRQ cascade 1
 +  3:          0      MIPS    IRQ cascade 2
 +  4:          0      MIPS    IRQ cascade 3
 +  5:          0      MIPS    IRQ cascade 4
 +  6:          0      MIPS    IRQ cascade 5
 +  7:          0      MIPS    timer
 +ERR:          0
 +
 +</code>
  • zyxel_xs1930_series.1606113214.txt.gz
  • Last modified: 2020/11/23 06:33
  • by bkoblitz