Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sipeed Lichee Pi 3A (Spacemit K1) #50

Open
geerlingguy opened this issue Sep 4, 2024 · 10 comments
Open

Sipeed Lichee Pi 3A (Spacemit K1) #50

geerlingguy opened this issue Sep 4, 2024 · 10 comments

Comments

@geerlingguy
Copy link
Owner

geerlingguy commented Sep 4, 2024

Basic information

  • Board URL (official): https://sipeed.com/licheepi3a (Docs)
  • Board purchased from: (provided by Sipeed)
  • Board purchase date: September 4, 2024
  • Board specs (as tested): Spacemit K1, 8GB RAM, 32GB eMMC
  • Board price (as tested): $99

Linux/system information

# output of `screenfetch`
                             jgeerling@k1
                             OS: Bianbu 1.0.14 mantic
                             Kernel: riscv64 Linux 6.1.15
         #####               Uptime: 1h 54m
        #######              Packages: 0
        ##O#O##              Shell: bash 5.2.15
        #######              Disk: 12G / 30G (39%)
      ###########            CPU: Spacemit X60 @ 8x 1.6GHz
     #############           GPU: 
    ###############          RAM: 863MiB / 7829MiB
    ################        
   #################        
 #####################      
 #####################      
   #################  

# output of `uname -a`
Linux k1 6.1.15 #1.0.14.1 SMP PREEMPT Fri Aug 30 18:58:33 UTC 2024 riscv64 riscv64 riscv64 GNU/Linux

Benchmark results

CPU

Power

  • Idle power draw (at wall): 4 W
  • Maximum simulated power draw (stress-ng --matrix 0): 7.4 W
  • During Geekbench multicore benchmark: 8.6 W
  • During top500 HPL benchmark: 9.1 W

Disk

eMMC (32GB built-in)

Benchmark Result
iozone 4K random read 11.80 MB/s
iozone 4K random write 2.67 MB/s
iozone 1M random read 79.50 MB/s
iozone 1M random write 22.09 MB/s
iozone 1M sequential read 79.48 MB/s
iozone 1M sequential write 24.69 MB/s
wget https://raw.githubusercontent.com/geerlingguy/pi-cluster/master/benchmarks/disk-benchmark.sh
chmod +x disk-benchmark.sh
sudo MOUNT_PATH=/ TEST_SIZE=1g ./disk-benchmark.sh

SanDisk Ultra 32GB A1 microSD

Benchmark Result
iozone 4K random read 12.20 MB/s
iozone 4K random write 2.71 MB/s
iozone 1M random read 80.29 MB/s
iozone 1M random write 24.24 MB/s
iozone 1M sequential read 80.47 MB/s
iozone 1M sequential write 23.70 MB/s

SKhynix HFS256GDE9X081N EA 256 GB PCIe Gen 3x4 NVMe SSD

Benchmark Result
iozone 4K random read 54.20 MB/s
iozone 4K random write 88.97 MB/s
iozone 1M random read 606.83 MB/s
iozone 1M random write 654.73 MB/s
iozone 1M sequential read 629.18 MB/s
iozone 1M sequential write 660.34 MB/s

Network

iperf3 results:

Built-in 1 Gbps Ethernet

  • iperf3 -c $SERVER_IP: 943 Mbps
  • iperf3 -c $SERVER_IP --reverse: 926 Mbps
  • iperf3 -c $SERVER_IP --bidir: 940 Mbps up, 220 Mbps down

Built-in WiFi

  • iperf3 -c $SERVER_IP: TODO Mbps
  • iperf3 -c $SERVER_IP --reverse: TODO Mbps
  • iperf3 -c $SERVER_IP --bidir: TODO Mbps up, TODO Mbps down

GPU

glmark2-es2 / glmark2-es2-wayland results:

1. Install glmark2-es2 with `sudo apt install -y glmark2-es2`
2. Run `glmark2-es2`
3. Replace this block of text with the results.

Note: This benchmark requires an active display on the device. Not all devices may be able to run glmark2-es2, so in that case, make a note and move on!

TODO: See this issue for discussion about a full suite of standardized GPU benchmarks.

Memory

tinymembench results:

Click to expand memory benchmark result
tinymembench v0.4.10 (simple benchmark for memory throughput and latency)

==========================================================================
== Memory bandwidth tests                                               ==
==                                                                      ==
== Note 1: 1MB = 1000000 bytes                                          ==
== Note 2: Results for 'copy' tests show how many bytes can be          ==
==         copied per second (adding together read and writen           ==
==         bytes would have provided twice higher numbers)              ==
== Note 3: 2-pass copy means that we are using a small temporary buffer ==
==         to first fetch data into it, and only then write it to the   ==
==         destination (source -> L1 cache, L1 cache -> destination)    ==
== Note 4: If sample standard deviation exceeds 0.1%, it is shown in    ==
==         brackets                                                     ==
==========================================================================

 C copy backwards                                     :   2757.4 MB/s (0.7%)
 C copy backwards (32 byte blocks)                    :    647.1 MB/s
 C copy backwards (64 byte blocks)                    :   2756.4 MB/s (0.4%)
 C copy                                               :   2765.3 MB/s (0.1%)
 C copy prefetched (32 bytes step)                    :   2761.8 MB/s
 C copy prefetched (64 bytes step)                    :   2759.1 MB/s
 C 2-pass copy                                        :   2622.7 MB/s
 C 2-pass copy prefetched (32 bytes step)             :   2617.1 MB/s (0.3%)
 C 2-pass copy prefetched (64 bytes step)             :   2609.8 MB/s (0.3%)
 C fill                                               :   6793.4 MB/s (0.2%)
 C fill (shuffle within 16 byte blocks)               :   6785.9 MB/s
 C fill (shuffle within 32 byte blocks)               :    661.1 MB/s
 C fill (shuffle within 64 byte blocks)               :    661.2 MB/s
 ---
 standard memcpy                                      :   2603.8 MB/s
 standard memset                                      :   6789.7 MB/s (0.2%)

==========================================================================
== Memory latency test                                                  ==
==                                                                      ==
== Note 1: All the numbers are representing extra time, which needs to  ==
==         be added to L1 cache latency. The cycle timings for L1 cache ==
==         latency can be usually found in the processor documentation. ==
== Note 2: Dual random read means that we are simultaneously performing ==
==         two independent memory accesses at a time. In the case if    ==
==         the memory subsystem can't handle multiple outstanding       ==
==         requests, dual random read has the same timings as two       ==
==         single reads performed one after another.                    ==
==========================================================================

block size : single random read / dual random read
      1024 :    0.2 ns          /     0.2 ns 
      2048 :    0.2 ns          /     0.2 ns 
      4096 :    0.2 ns          /     0.2 ns 
      8192 :    0.2 ns          /     0.2 ns 
     16384 :    0.2 ns          /     0.2 ns 
     32768 :    0.2 ns          /     0.2 ns 
     65536 :   10.4 ns          /    16.0 ns 
    131072 :   17.8 ns          /    23.8 ns 
    262144 :   21.9 ns          /    27.1 ns 
    524288 :   29.3 ns          /    36.5 ns 
   1048576 :  122.9 ns          /   182.7 ns 
   2097152 :  188.0 ns          /   241.6 ns 
   4194304 :  213.8 ns          /   268.1 ns 
   8388608 :  255.0 ns          /   298.9 ns 
  16777216 :  266.9 ns          /   325.1 ns 
  33554432 :  289.1 ns          /   361.9 ns 
  67108864 :  314.3 ns          /   407.5 ns 

sbc-bench results

Run sbc-bench and paste a link to the results here: ThomasKaiser/sbc-bench#102 / https://0x0.st/XxZl.bin

Phoronix Test Suite

Results from pi-general-benchmark.sh:

  • pts/encode-mp3: N/A sec
  • pts/x264 4K: N/A fps
  • pts/x264 1080p: N/A fps
  • pts/phpbench: 80884
  • pts/build-linux-kernel (defconfig): N/A sec

Note: Could not complete all general benchmark suites—some ran out of space (couldn't resize my primary partition), others would not install (x264 and encode-mp3) on RISC-V architecture.

@geerlingguy
Copy link
Owner Author

Other coverage:

@geerlingguy
Copy link
Owner Author

PCIe layout:

jgeerling@k1:~$ lspci
0001:00:00.0 PCI bridge: Device 201f:0001 (rev 01)
0001:01:00.0 Non-Volatile memory controller: SK hynix Gold P31/BC711/PC711 NVMe Solid State Drive
0002:00:00.0 PCI bridge: Device 201f:0001 (rev 01)

jgeerling@k1:~$ sudo lspci -vvv
[sudo] password for jgeerling: 
0001:00:00.0 PCI bridge: Device 201f:0001 (rev 01) (prog-if 00 [Normal decode])
	Device tree node: /sys/firmware/devicetree/base/soc/pcie@ca400000/interrupt-controller@0
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 58
	Region 0: Memory at 90000000 (32-bit, non-prefetchable) [size=1M]
	Region 1: Memory at 90100000 (32-bit, non-prefetchable) [size=1M]
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: f000-0fff [disabled] [16-bit]
	Memory behind bridge: 90200000-902fffff [size=1M] [32-bit]
	Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff [disabled] [64-bit]
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: [40] Power Management version 3
		Flags: PMEClk- DSI- D1+ D2- AuxCurrent=375mA PME(D0+,D1+,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [50] MSI: Enable+ Count=1/32 Maskable- 64bit+
		Address: 0000000060600000  Data: 0000
	Capabilities: [70] Express (v2) Root Port (Slot-), MSI 00
		DevCap:	MaxPayload 256 bytes, PhantFunc 0
			ExtTag+ RBE+
		DevCtl:	CorrErr+ NonFatalErr+ FatalErr+ UnsupReq+
			RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr+ TransPend-
		LnkCap:	Port #0, Speed 5GT/s, Width x2, ASPM L0s L1, Exit Latency L0s <4us, L1 <16us
			ClockPM- Surprise+ LLActRep+ BwNot+ ASPMOptComp+
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 5GT/s, Width x2
			TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt+
		RootCap: CRSVisible+
		RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna+ CRSVisible+
		RootSta: PME ReqID 0000, PMEStatus- PMEPending-
		DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP+ LTR+
			 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
			 EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
			 FRS- LN System CLS Not Supported, TPHComp- ExtTPHComp- ARIFwd+
			 AtomicOpsCap: Routing- 32bit- 64bit- 128bitCAS-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR+ 10BitTagReq- OBFF Disabled, ARIFwd-
			 AtomicOpsCtl: ReqEn- EgressBlck-
		LnkCap2: Supported Link Speeds: 2.5-5GT/s, Crosslink- Retimer- 2Retimers- DRS-
		LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshoot
		LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-
			 EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
			 Retimer- 2Retimers- CrosslinkRes: unsupported
	Capabilities: [100 v2] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr-
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		AERCap:	First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
			MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
		HeaderLog: 00000000 00000000 00000000 00000000
		RootCmd: CERptEn+ NFERptEn+ FERptEn+
		RootSta: CERcvd- MultCERcvd- UERcvd- MultUERcvd-
			 FirstFatal- NonFatalMsg- FatalMsg- IntMsg 0
		ErrorSrc: ERR_COR: 0000 ERR_FATAL/NONFATAL: 0000
	Capabilities: [148 v1] Secondary PCI Express
		LnkCtl3: LnkEquIntrruptEn- PerformEqu-
		LaneErrStat: 0
	Capabilities: [160 v1] Vendor Specific Information: ID=0006 Rev=0 Len=018 <?>
	Kernel driver in use: pcieport

0001:01:00.0 Non-Volatile memory controller: SK hynix Gold P31/BC711/PC711 NVMe Solid State Drive (prog-if 02 [NVM Express])
	Subsystem: SK hynix Gold P31/PC711 NVMe Solid State Drive
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 57
	Region 0: Memory at 90200000 (64-bit, non-prefetchable) [size=16K]
	Region 2: Memory at 90204000 (32-bit, non-prefetchable) [size=4K]
	Region 3: Memory at 90205000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [80] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [90] MSI: Enable- Count=1/16 Maskable+ 64bit+
		Address: 0000000000000000  Data: 0000
		Masking: 00000000  Pending: 00000000
	Capabilities: [b0] MSI-X: Enable+ Count=33 Masked-
		Vector table: BAR=0 offset=00002000
		PBA: BAR=0 offset=00003000
	Capabilities: [c0] Express (v2) Endpoint, MSI 00
		DevCap:	MaxPayload 512 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
			ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0W
		DevCtl:	CorrErr+ NonFatalErr+ FatalErr+ UnsupReq+
			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
		LnkCap:	Port #0, Speed 8GT/s, Width x4, ASPM L1, Exit Latency L1 <64us
			ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 5GT/s (downgraded), Width x2 (downgraded)
			TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		DevCap2: Completion Timeout: Range B, TimeoutDis+ NROPrPrP- LTR+
			 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt+ EETLPPrefix-
			 EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
			 FRS- TPHComp- ExtTPHComp-
			 AtomicOpsCap: 32bit- 64bit- 128bitCAS-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR+ 10BitTagReq- OBFF Disabled,
			 AtomicOpsCtl: ReqEn-
		LnkCap2: Supported Link Speeds: 2.5-8GT/s, Crosslink- Retimer- 2Retimers- DRS-
		LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshoot
		LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-
			 EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
			 Retimer- 2Retimers- CrosslinkRes: unsupported
	Capabilities: [100 v2] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr-
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr-
		AERCap:	First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
			MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
		HeaderLog: 00000000 00000000 00000000 00000000
	Capabilities: [150 v1] Device Serial Number 00-00-00-00-00-00-00-00
	Capabilities: [160 v1] Power Budgeting <?>
	Capabilities: [1b8 v1] Latency Tolerance Reporting
		Max snoop latency: 0ns
		Max no snoop latency: 0ns
	Capabilities: [300 v1] Secondary PCI Express
		LnkCtl3: LnkEquIntrruptEn- PerformEqu-
		LaneErrStat: 0
	Capabilities: [400 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
	Capabilities: [900 v1] L1 PM Substates
		L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
			  PortCommonModeRestoreTime=24us PortTPowerOnTime=44us
		L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
			   T_CommonMode=0us LTR1.2_Threshold=0ns
		L1SubCtl2: T_PwrOn=44us
	Kernel driver in use: nvme

0002:00:00.0 PCI bridge: Device 201f:0001 (rev 01) (prog-if 00 [Normal decode])
	Device tree node: /sys/firmware/devicetree/base/soc/pcie@ca800000/interrupt-controller@0
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 62
	Region 0: Memory at a0000000 (32-bit, non-prefetchable) [size=1M]
	Region 1: Memory at a0100000 (32-bit, non-prefetchable) [size=1M]
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: f000-0fff [disabled] [16-bit]
	Memory behind bridge: fff00000-000fffff [disabled] [32-bit]
	Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff [disabled] [64-bit]
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: [40] Power Management version 3
		Flags: PMEClk- DSI- D1+ D2- AuxCurrent=375mA PME(D0+,D1+,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [50] MSI: Enable+ Count=1/32 Maskable- 64bit+
		Address: 0000000060602000  Data: 0000
	Capabilities: [70] Express (v2) Root Port (Slot-), MSI 00
		DevCap:	MaxPayload 256 bytes, PhantFunc 0
			ExtTag+ RBE+
		DevCtl:	CorrErr+ NonFatalErr+ FatalErr+ UnsupReq+
			RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr+ TransPend-
		LnkCap:	Port #0, Speed 5GT/s, Width x2, ASPM L0s L1, Exit Latency L0s <4us, L1 <16us
			ClockPM- Surprise- LLActRep+ BwNot- ASPMOptComp+
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk-
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s, Width x1
			TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		RootCap: CRSVisible-
		RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna+ CRSVisible-
		RootSta: PME ReqID 0000, PMEStatus- PMEPending-
		DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP+ LTR+
			 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
			 EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
			 FRS- LN System CLS Not Supported, TPHComp- ExtTPHComp- ARIFwd+
			 AtomicOpsCap: Routing- 32bit- 64bit- 128bitCAS-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- 10BitTagReq- OBFF Disabled, ARIFwd-
			 AtomicOpsCtl: ReqEn- EgressBlck-
		LnkCap2: Supported Link Speeds: 2.5-5GT/s, Crosslink- Retimer- 2Retimers- DRS-
		LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshoot
		LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete- EqualizationPhase1-
			 EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
			 Retimer- 2Retimers- CrosslinkRes: unsupported
	Capabilities: [100 v2] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr-
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		AERCap:	First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
			MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
		HeaderLog: 00000000 00000000 00000000 00000000
		RootCmd: CERptEn+ NFERptEn+ FERptEn+
		RootSta: CERcvd- MultCERcvd- UERcvd- MultUERcvd-
			 FirstFatal- NonFatalMsg- FatalMsg- IntMsg 0
		ErrorSrc: ERR_COR: 0000 ERR_FATAL/NONFATAL: 0000
	Capabilities: [148 v1] Secondary PCI Express
		LnkCtl3: LnkEquIntrruptEn- PerformEqu-
		LaneErrStat: 0
	Capabilities: [160 v1] Vendor Specific Information: ID=0006 Rev=0 Len=018 <?>
	Kernel driver in use: pcieport

@geerlingguy
Copy link
Owner Author

geerlingguy commented Sep 5, 2024

I had to expand the filesystem space like I did the Milk-V Jupiter (#47 (comment)), but now I can't get the system to reboot. D'oh!

Note: Better guide here: Extend Partition on SD Card or eMMC

I've now tried extending the partition two times, and both times, after a reboot, the system won't finish booting—it just has a blinking cursor on the HDMI output.

@geerlingguy
Copy link
Owner Author

Strange behavior when using it with NanoKVM (though I can't verify yet if it's a problem on the NanoKVM side, or an issue with power via USB-A ports on the Lichee Pi): sipeed/NanoKVM#40

@geerlingguy
Copy link
Owner Author

geerlingguy commented Sep 10, 2024

For some reason, I kept having issues compiling mpich via Ansible, so I had to log in and run configure manually, as well as make. I think it was having trouble finding the paths to dependencies required for the build.

I also still can't get the disk partition expanded without borking the boot, but apparently that could be related to the Lichee Pi 3A firmware revision I'm running. I'll try upgrading that soon.

Because of the disk partition issue, I'm currently unable to (easily) run the Phoronix Linux kernel compile benchmark.

@geerlingguy
Copy link
Owner Author

Reading more into the 'firmware', it seems like that term references the OS maybe according to https://en.wiki.sipeed.com/hardware/en/lichee/K1/lpi3a/3_burn_image.html ? I'm going to ask Sipeed for clarification.

@geerlingguy
Copy link
Owner Author

There's a WiFi chipset on the carrier board, but at least using the default Bianbu install, I can't seem to use it for WiFi network access.

@ThomasKaiser
Copy link

ThomasKaiser commented Sep 29, 2024

Jeff, if time permits could you please run on the Lichee Pi 3A (or any other SpacemiT K1/M1 thingy you own) the following?

grep . /sys/devices/soc0/*

(background)

@faried
Copy link

faried commented Oct 8, 2024

root@k1:/home/fn# grep . /sys/devices/soc0/* 2>/dev/null
/sys/devices/soc0/family:spacemit socs
/sys/devices/soc0/machine:SiPEED LPi3A Board
/sys/devices/soc0/revision:C
/sys/devices/soc0/serial_number:0059D968E583D118
/sys/devices/soc0/soc_id:K1-6370
root@k1:/home/fn# 

and

root@k1:/home/fn# grep -r . /sys/devices/soc0/* 2>/dev/null
/sys/devices/soc0/family:spacemit socs
/sys/devices/soc0/machine:SiPEED LPi3A Board
/sys/devices/soc0/power/runtime_active_time:0
/sys/devices/soc0/power/runtime_status:unsupported
/sys/devices/soc0/power/runtime_suspended_time:0
/sys/devices/soc0/power/control:auto
/sys/devices/soc0/revision:C
/sys/devices/soc0/serial_number:0059D968E583D118
/sys/devices/soc0/soc_id:K1-6370
/sys/devices/soc0/subsystem/drivers_autoprobe:1
root@k1:/home/fn# uname -a
Linux k1 6.6.36 #2.0~rc7.2 SMP PREEMPT Mon Sep 30 10:36:26 UTC 2024 riscv64 riscv64 riscv64 GNU/Linux
root@k1:/home/fn# 

This is with Bianbu 2.0rc2.

@brucehoult
Copy link

I've now tried extending the partition two times, and both times, after a reboot, the system won't finish booting—it just has a blinking cursor on the HDMI output.

Yeah, that happened to me (Bianbu 2.0.4) if I used fdisk.

Doing sudo apt update; sudo apt install gparted; sudo gparted worked fine. On startup gparted warned that the GPT table wasn't using the full disk size, and offered to fix it. I think fdisk might have also warned on that, but idk how to fix it there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants