• Minisforum X35G - NVMe/SATA RST Controller

    3 days ago 0 comments

    I have been using the X35G as a router and lately to test thunderbolt on Windows and Linux.
    Early on I did some wifi testing. Recently I was unable to boot Linux anymore.
    My notes on Intel RST Storage Controller issue I am facing.

    Last week I wanted to test the ST60-2230 wifi module in OpenWRT.
    I was unable to boot into my existing install of Ubuntu and OpenWRT present on the NVMe disk. Grub has been having those entries from when I setup that system as a router.

    I was not able to see any NVMe storage being listed as PCIe devices. The web pointed me to the following boot message.

    [    1.292983] ahci 0000:00:17.0: version 3.0
    [    1.293750] ahci 0000:00:17.0: Found 1 remapped NVMe devices.
    [    1.293753] ahci 0000:00:17.0: Switch your BIOS from RAID to AHCI mode to use them.
    [    1.293871] ahci 0000:00:17.0: AHCI 0001.0301 32 slots 2 ports 6 Gbps 0x6 impl RAID mode
    [    1.293875] ahci 0000:00:17.0: flags: 64bit ncq sntf pm clo only pio slum part deso sadm sds apst 

    Linux does report a NVMe being present in the system but is unable to access it due RAID mode.

    00:17.0 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 30)
    	Subsystem: Intel Corporation 82801 Mobile SATA Controller [RAID mode]
    	Kernel driver in use: ahci
    	Kernel modules: ahci

    The Windows installation does boot from the NVMe but list that storage being provided by the Intel RST Controller.

    The solution present online all mention disabling RAID mode in the BIOS. 
    Unfortunately Minisforum BIOS for the X35G is very barebone  with no option for the storage controller mode. I send a message to Minisforum Support, pending response. 

    How would I disable RAID mode for the Intel RST Controller from not within the BIOS?
    Perhaps there is a UEFI tool that would allow interfacing with the Intel RST Controller ?

    If anyone has face such issue, I would appreciate feedback.

    When booting a live install, Ubuntu was listing the SATA disk present.
    I went on to reinstall Linux on the system when I faced.

    Does anyone know how to bypass "turn off RST" in the Ubuntu install of 22.04 ?

    Overall pretty :(

  • X35G AX200 WIFI

    08/22/2022 at 03:48 0 comments

    When setting up Minisforum X35G NUC as a OpenWRT router I faced an issue with the Intel AX200 Wifi.

    Before going thru the whole install, I tested the X35G with OpenWRT on a USB drive.
    At the time, I was able to install the required driver for the AX200 card. I used the mainline firmware since not avaiable as a OpenWRT package. I tested speed and bandwidth correctly with my laptop.

    When I setup OpenWRT in the nvme storage, iwlwifi starting crapping out.

    [    0.000000] Linux version 5.4.188
    [...]
    [    5.241045] Intel(R) Wireless WiFi driver for Linux
    [    5.242581] iwlwifi 0000:2c:00.0: enabling device (0000 -> 0002)
    [    5.248109] iwlwifi 0000:2c:00.0: api flags index 2 larger than supported by driver
    [    5.250556] iwlwifi 0000:2c:00.0: TLV_FW_FSEQ_VERSION: FSEQ Version: 89.3.35.22
    [    5.253192] iwlwifi 0000:2c:00.0: loaded firmware version 59.601f3a66.0 cc-a0-59.ucode op_mode iwlmvm
    [    5.260577] iwlwifi 0000:2c:00.0: Detected Intel(R) Wi-Fi 6 AX200 160MHz, REV=0x340
    [...]
    [   40.039878] iwlwifi 0000:2c:00.0: Microcode SW error detected. Restarting 0x0.
    [   40.041965] iwlwifi 0000:2c:00.0: Start IWL Error Log Dump:
    [   40.043777] iwlwifi 0000:2c:00.0: Status: 0x00000040, count: 6
    [   40.045501] iwlwifi 0000:2c:00.0: Loaded firmware version: 59.601f3a66.0 cc-a0-59.ucode
    [   40.046489] iwlwifi 0000:2c:00.0: 0x00000071 | NMI_INTERRUPT_UMAC_FATAL    
    [   40.047478] iwlwifi 0000:2c:00.0: 0x000022F1 | trm_hw_status0
    [   40.048540] iwlwifi 0000:2c:00.0: 0x00000000 | trm_hw_status1
    [   40.049545] iwlwifi 0000:2c:00.0: 0x004FAA36 | branchlink2
    [   40.050605] iwlwifi 0000:2c:00.0: 0x000145FA | interruptlink1
    [   40.051666] iwlwifi 0000:2c:00.0: 0x000145FA | interruptlink2
    [   40.052662] iwlwifi 0000:2c:00.0: 0x0000F9E2 | data1
    [   40.053711] iwlwifi 0000:2c:00.0: 0x00001000 | data2
    [   40.054775] iwlwifi 0000:2c:00.0: 0x00000000 | data3
    [   40.055790] iwlwifi 0000:2c:00.0: 0x00000000 | beacon time
    [   40.056800] iwlwifi 0000:2c:00.0: 0x00416296 | tsf low
    [   40.057817] iwlwifi 0000:2c:00.0: 0x00000000 | tsf hi
    [   40.058746] iwlwifi 0000:2c:00.0: 0x00000000 | time gp1
    [   40.059733] iwlwifi 0000:2c:00.0: 0x0041B92D | time gp2
    [   40.060716] iwlwifi 0000:2c:00.0: 0x00000001 | uCode revision type
    [   40.061700] iwlwifi 0000:2c:00.0: 0x0000003B | uCode version major
    [   40.062666] iwlwifi 0000:2c:00.0: 0x601F3A66 | uCode version minor
    [   40.063603] iwlwifi 0000:2c:00.0: 0x00000340 | hw version
    [   40.064574] iwlwifi 0000:2c:00.0: 0x00C89000 | board version
    [   40.065527] iwlwifi 0000:2c:00.0: 0x0200001C | hcmd
    [   40.066382] iwlwifi 0000:2c:00.0: 0x00120000 | isr0
    [   40.067211] iwlwifi 0000:2c:00.0: 0x00000000 | isr1
    [   40.068050] iwlwifi 0000:2c:00.0: 0x08F80002 | isr2
    [   40.068877] iwlwifi 0000:2c:00.0: 0x04C20018 | isr3
    [   40.069761] iwlwifi 0000:2c:00.0: 0x00000000 | isr4
    [   40.070523] iwlwifi 0000:2c:00.0: 0x0031019C | last cmd Id
    [   40.071261] iwlwifi 0000:2c:00.0: 0x0000F9E2 | wait_event
    [   40.072026] iwlwifi 0000:2c:00.0: 0x00000000 | l2p_control
    [   40.072794] iwlwifi 0000:2c:00.0: 0x00000820 | l2p_duration
    [   40.073573] iwlwifi 0000:2c:00.0: 0x00000000 | l2p_mhvalid
    [   40.074334] iwlwifi 0000:2c:00.0: 0x00008000 | l2p_addr_match
    [   40.075091] iwlwifi 0000:2c:00.0: 0x00000009 | lmpm_pmg_sel
    [   40.075839] iwlwifi 0000:2c:00.0: 0x00000000 | timestamp
    [   40.076580] iwlwifi 0000:2c:00.0: 0x00002874 | flow_handler
    [   40.077350] iwlwifi 0000:2c:00.0: Start IWL Error Log Dump:
    [   40.078045] iwlwifi 0000:2c:00.0: Status: 0x00000040, count: 7
    [   40.078746] iwlwifi 0000:2c:00.0: 0x20003207 | ADVANCED_SYSASSERT
    [   40.079484] iwlwifi 0000:2c:00.0: 0x00000000 | umac branchlink1
    [   40.080229] iwlwifi 0000:2c:00.0: 0x804568FC | umac branchlink2
    [   40.080970] iwlwifi 0000:2c:00.0: 0xC0084F3C | umac interruptlink1
    [   40.081764] iwlwifi 0000:2c:00.0: 0x00000000 | umac interruptlink2
    [   40.082507] iwlwifi 0000:2c:00.0: 0x00033907 | umac data1
    [   40.083220] iwlwifi 0000:2c:00.0: 0xDEADBEEF | umac data2
    [   40.083959] iwlwifi 0000:2c:00.0: 0xDEADBEEF | umac data3
    [   40.084704] iwlwifi 0000:2c:00.0: 0x0000003B | umac major
    [   40.085471] iwlwifi...
    Read more »

  • RS232 DB9 Pinout

    11/16/2020 at 08:52 0 comments

    It seems I always struggle with RS232 DB9 pinout. This page is to track it.

    A good reference for DB9 can be found in FTDI RS232 Cable. See Datasheet page 17.

    The RS232 connector (Male) has the following pinout, i.e configured as a Data Terminal Equipment (DTE).

    Male DB9 RS232
    Male DB9 RS232
    PinTypeDescription
    1InputDCD = Data Carrier Detect
    2InputRXD = Receive Data
    3OutputTXD = Transmit Data
    4OutputDTR = Data Terminal Ready 
    5GroundGND = RS232 signal ground
    6InputDSR = Data Set Ready
    7OutputRTS = Request To Send 
    8InputCTS = Clear To Send
    9Input / PowerRI = Ring Indicator

    The device this adapter connects to should follow the following pinout.

    The RS232 device connector is then female, configured as Data Communication Equipment (DCE).

    Female DB9 RS232
    Female DB9 RS232
    PinTypeDescription
    1OutputDCD = Data Carrier Detect
    2OutputRXD = Receive Data
    Aka Device Transmit pin (DT-in/DC-out)
    3InputTXD = Transmit Data
    Aka Device Receive pin (DT-out/DC-in)
    4InputDTR = Data Terminal Ready 
    5GroundGND = RS232 signal ground
    6OutputDSR = Data Set Ready
    7InputRTS = Request To Send
    (DT-out/DC-in)
    8OutputCTS = Clear To Send
    (DT-in/DC-out)
    9Input / PowerRI = Ring Indicator

    The data flow in summarized as follow.

    DTC to DCE
    DTC to DCE