• Posts

  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

hallo1's Achievements

  1. sd and emmc are not present. The radxa's image have been flashed to the optane memory. But actrually the content inside the optane memory don't have much to do with this error. EVEN A BLANK OPTANE MEMORY CAUSES THIS ERROR.
  2. Intel Optane memory M10 16GB is NOT working. Here is some log. U-Boot TPL 2020.07-armbian (Dec 23 2020 - 15:30:05) Channel 0: LPDDR4, 50MHz BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB Channel 1: LPDDR4, 50MHz BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB 256B stride 256B stride lpddr4_set_rate: change freq to 400000000 mhz 0, 1 lpddr4_set_rate: change freq to 800000000 mhz 1, 0 Trying to boot from BOOTROM Returning to boot ROM... U-Boot SPL 2020.07-armbian (Dec 23 2020 - 15:30:05 +0100) Trying to boot from SPI NOTICE: BL31: v1.3(debug):42583b6 NOTICE: BL31: Built : 07:55:13, Oct 15 2019 NOTICE: BL31: Rockchip release version: v1.1 INFO: GICv3 with legacy support detected. ARM GICV3 driver initialized in EL3 INFO: Using opteed sec cpu_context! INFO: boot cpu mask: 0 INFO: If lpddr4 need support multi frequency, INFO: please update loader! INFO: Current ctl index[0] freq=400MHz INFO: Current ctl index[1] freq=800MHz INFO: plat_rockchip_pmu_init(1190): pd status 3e INFO: BL31: Initializing runtime services WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will return SMC_UNK ERROR: Error initializing runtime service opteed_fast INFO: BL31: Preparing for EL3 exit to normal world INFO: Entry point address = 0x200000 INFO: SPSR = 0x3c9 U-Boot 2020.07-armbian (Dec 23 2020 - 15:30:05 +0100) SoC: Rockchip rk3399 Reset cause: RST Model: Radxa ROCK Pi 4B DRAM: 3.9 GiB PMIC: RK808 MMC: mmc@fe310000: 2, mmc@fe320000: 1, sdhci@fe330000: 0 Loading Environment from SPI Flash... SF: Detected XT25F32B with page size 256 Bytes, erase size 4 KiB, total 4 MiB OK In: serial Out: serial Err: serial Model: Radxa ROCK Pi 4B Net: eth0: ethernet@fe300000 Hit any key to stop autoboot: 0 Card did not respond to voltage select! Card did not respond to voltage select! "Synchronous Abort" handler, esr 0x96000210 elr: 000000000022d918 lr : 000000000022d8b4 (reloc) elr: 00000000f3f5a918 lr : 00000000f3f5a8b4 x0 : 00000000f8000000 x1 : 0000000000000001 x2 : 0000000000000000 x3 : 0000000000100000 x4 : 00000000f1f37e00 x5 : 0000000000100000 x6 : 0000000000000001 x7 : 00000000f3fcd888 x8 : 0000000000000000 x9 : 0000000000000008 x10: 00000000ffffffe8 x11: 0000000000000010 x12: 000000000000149c x13: 00000000f1f149fc x14: 00000000f1f15b20 x15: 0000000000000020 x16: 00000000f3f5a878 x17: 0000000000060001 x18: 00000000f1f26dc0 x19: 00000000f1f14970 x20: 0000000000000001 x21: 0000000000000000 x22: 0000000000010000 x23: 00000000f3fd37f8 x24: 0000000000010000 x25: 00000000f3fba3f2 x26: 0000000000000000 x27: 0000000000000000 x28: 00000000f1f37d10 x29: 00000000f1f148d0 Code: 540000c1 350000a5 93407c05 f9400080 (b86068a0) Resetting CPU ... The error code is exactly same as the legacy(radxa) u-boot. https://forum.radxa.com/t/bootloader/2309
  3. /dts-v1/; /plugin/; / { compatible = "radxa,rockpi4b", "radxa,rockpi4", "rockchip,rk3399"; fragment@0 { target = <&spi2>; __overlay__ { status = "okay"; }; }; fragment@3 { target = <&pinctrl>; __overlay__ { st7735rdisplay { st7735r_display_pins: st7735r_display_pins { rockchip,pins = <4 26 1 &pcfg_pull_none>, //GPIO4_D2 (A->1 ... D->4 , D2 -> 4*8+2 = 26) <4 28 1 &pcfg_pull_none>; //GPIO4_D4 (A->1 ... D->4 , D4 -> 4*8+4 = 28) }; }; }; }; fragment@5 { target = <&spi2>; __overlay__ { /* needed to avoid dtc warning */ #address-cells = <1>; #size-cells = <0>; st7735rdisplay: st7735r-display@0{ compatible = "jianda,jd-t18003-t01", "sitronix,st7735r"; reg = <0>; pinctrl-names = "default"; pinctrl-0 = <&st7735r_display_pins>; spi-max-frequency = <40000000>; rotation = <90>; fps = <20>; height = <160>; width = <128>; buswidth = <8>; reset-gpios = <&gpio4 26 0>; //Refer to previous one dc-gpios = <&gpio4 28 0>; debug = <0>; }; }; }; __overrides__ { speed = <&st7735rdisplay>,"spi-max-frequency:0"; rotate = <&st7735rdisplay>,"rotation:0"; fps = <&st7735rdisplay>,"fps:0"; debug = <&st7735rdisplay>,"debug:0"; }; }; This is my working dts config of a st7735 lcd on a rock pi 4. It uses spi2 and should be working on any rk3399 based boards with little editing.
  4. My testing result: (U-Boot 2020.07-armbian (Dec 12 2020 - 01:58:01 +0100)) SD card boot: Working (absolutely) NVMe boot: Working (on my ssd w/ sm2263xt controller) USB boot: Working (bad compability, the upper usb3.0 port seems won't work) PXE boot: Untested (but networking seems okay) EMMC boot: Untested SPI Flash read/write: Working HDMI: Working (tested 1920x1080) USB keyboard: Not working(can be detected but not working)
  5. Here is the output of the logic analyzer (kernel ~5.4). You can open it using the pulseview software. under linux mainline 5.4.sr
  6. That is not a I2C speed issue. I examined the i2c data of the OLED using a logic analyzer and found the i2c clock is both 100KHz (maybe a little slow but reasonable)
  7. I2cdetect works properly, showing a device at address 0x3c I'm using superuser permission to execute the script. If there is a permission issue, it will show a error message "permission denied" Sometimes the display will light up and show proper content, but the script will still run into this error after ~3s.
  8. I am using a orangepi win plus. I have attached a ssd1306 OLED display to the board, using i2c1 interface, using the luma.oled library as driver. import sys from PIL import Image from PIL import ImageDraw from PIL import ImageFont import subprocess from luma.core.interface.serial import i2c from luma.core.render import canvas from luma.oled.device import ssd1306, ssd1325, ssd1331, sh1106 from time import sleep serial = i2c(port=1, address=0x3C) device = ssd1306(serial, rotate=0) width=device.width height=device.height image = Image.new('1', (device.width, device.height)) # Get drawing object to draw on image. draw = ImageDraw.Draw(image) # Draw a black filled box to clear the image. draw.rectangle((0,0,device.width,device.height), outline=0, fill=0) padding = 2 top = padding bottom = device.height-padding # Move left to right keeping track of the current x position for drawing shapes. x = 0 while True: # Draw a black filled box to clear the image. draw.rectangle((0,0,width,height), outline=0, fill=0) # Shell scripts for system monitoring from here : https://unix.stackexchange.com/questions/119126/command-to-displa$ cmd = "hostname -I | cut -d\' \' -f1" IP = subprocess.check_output(cmd, shell = True ) cmd = "top -bn1 | grep load | awk '{printf \"CPU Load: %.2f\", $(NF-2)}'" CPU = subprocess.check_output(cmd, shell = True ) cmd = "free -m | awk 'NR==2{printf \"Mem: %s/%sMB %.2f%%\", $3,$2,$3*100/$2 }'" MemUsage = subprocess.check_output(cmd, shell = True ) cmd = "df -h | awk '$NF==\"/\"{printf \"Disk: %d/%dGB %s\", $3,$2,$5}'" Disk = subprocess.check_output(cmd, shell = True ) # Write two lines of text. draw.text((x, top),"IP:"+str(IP,encoding = "utf-8"), font=font, fill=255) draw.text((x, top+8),str(CPU,encoding = "utf-8"), font=font, fill=255) draw.text((x, top+16),str(MemUsage,encoding = "utf-8"), font=font, fill=255) draw.text((x, top+25),str(Disk,encoding = "utf-8"), font=font, fill=255) device.display(image) sleep(0.5) At the kernel version 5.3.9, the display worked perfectly, without any problem. But after updating the kernel version to above 5.4.20, the same code don't work at all. Traceback (most recent call last): File "./test_oled.py", line 12, in <module> device = ssd1306(serial, rotate=0) File "/usr/local/lib/python3.6/dist-packages/luma/oled/device/__init__.py", line 188, in __init__ self.clear() File "/usr/local/lib/python3.6/dist-packages/luma/core/mixin.py", line 46, in clear self.display(Image.new(self.mode, self.size)) File "/usr/local/lib/python3.6/dist-packages/luma/oled/device/__init__.py", line 220, in display self.data(list(buf)) File "/usr/local/lib/python3.6/dist-packages/luma/core/device.py", line 46, in data self._serial_interface.data(data) File "/usr/local/lib/python3.6/dist-packages/luma/core/interface/serial.py", line 119, in data write(list(data[i:i + block_size])) File "/usr/local/lib/python3.6/dist-packages/luma/core/interface/serial.py", line 128, in _write_large_block self._bus.i2c_rdwr(self._i2c_msg_write(self._addr, [self._data_mode] + data)) File "/usr/local/lib/python3.6/dist-packages/smbus2/smbus2.py", line 637, in i2c_rdwr ioctl(self.fd, I2C_RDWR, ioctl_data) TimeoutError: [Errno 110] Connection timed out Because the luma.oled library just uses the linux kernel i2c interface like the /dev/i2c-1, so it is more likely a bug related to kernel.
  9. Output is here: http://ix.io/28uM Sadly, my board's HDMI output have been damanged by static electricity when I get the output. Probably it will cause wrong information.
  10. I connect the rockpi 4 to a Samsung display whose normal resolution is 1680x1050 via a hdmi to dvi line, but the maxium resolution I can choose is 1280x1024. And when I connect it to a 4K tv via hdmi, the maxium resolution is 1920x1080, not 3840x2160. The legacy kernel (4.4.210) works perfectly in both cases.
  11. Thank you! bootloader now works normally without any storage device connected.
  12. I am using an Orange pi win plus (Allwinner A64, 2GB ram), running Armbian Bionic with Linux 5.3.9-sunxi64 The board has an 2MB on-board spi flash and I want to flash bootloader in it. The spi flash can be correctly detected in the system (showing /dev/mtdblock0). But the "install" tool in armbian-config can't install the bootloader into the flash. When I selected "Install/Update the bootloader on SPI Flash" and confirmed the warning notice, the tool printed "OK" immidiately and there is actually nothing written to the flash. After using "sudo bash -x armbian-config", I found the tool executed a command: dd if=/usr/lib/linux-u-boot-dev-orangepiwin_19.11.3_arm64/u-boot.flash of=/dev/mtdblock0 status=noxfer But there isn't a file named "u-boot.flash" in the directory. Inside the directory "/usr/lib/linux-u-boot-dev-orangepiwin_19.11.3_arm64/", there are only two files named "sunxi-spl.bin" and "u-boot.itb". So.. If it is a bug in armbian-config or flashing bootloader to flash is simply not supported? If supported, Where can I find the u-boot.flash image? (armbianconfig -u give me this URL: http://ix.io/237r , may be useful for debugging)