Search the Community
Showing results for tags 'orangepizero2w'.
-
Hello! I could find quite a bit of information about the analog video output for OrangePi Zero 2W on Armbian under Ubuntu. On Android TV-OUT works. Are there any plans to add this feature to Armbian? It is very critical for me. If no one plans to do this now, then I would be extremely grateful for advice from experts on how to port / modify existing drivers, perhaps take something from the AndroidTV 12 code, where the video output works? I am a developer, but I have not previously dealt with driver development for Linux, but if I understand in which direction to act, then using ChatGPT sooner or later I should be able to cope. I would be very grateful for any help!
-
diagnostics listing of Orange Pi Zero 2W http://ix.io/4Lwr Not sure if this helps..but the stock build is lacking...plus I am getting 1.0 cpu usage at idle Orange Pi 1.0.0 user-built System too busy for benchmarking: 16:33:21 up 25 min, 3 users, load average: 1.15, 1.03, 0.92 System too busy for benchmarking: 16:33:26 up 25 min, 3 users, load average: 1.14, 1.03, 0.92 System too busy for benchmarking: 16:33:31 up 25 min, 3 users, load average: 1.13, 1.03, 0.93 System too busy for benchmarking: 16:33:36 up 25 min, 3 users, load average: 1.12, 1.03, 0.93 System too busy for benchmarking: 16:33:41 up 25 min, 3 users, load average: 1.11, 1.03, 0.93 Wish there was an official Armbian build...it usually seems much more "complete"
-
Hi, I'm migrating from the OrangePi image to Armbian, and can't make the touchscreen working, it does not respond to any actions. It works pretty well on the OrangePi's image. Did I mess up something here? uname -a: Linux orangepizero2w 6.6.31-current-sunxi64 #1 SMP Fri May 17 10:02:40 UTC 2024 aarch64 GNU/Linux Touchscreen DTS: /dts-v1/; /plugin/; / { compatible = "allwinner,sun50i-h616"; fragment@0 { target-path = "/"; __overlay__ { backlight_gpio: backlight_gpio { compatible = "gpio-backlight"; gpios = <&pio 8 14 0>; // PI14 default-on; }; /*backlight_pwm: backlight_pwm { compatible = "pwm-backlight"; brightness-levels = <0 25 50 75 100 125 150 175 200 225 255>; default-brightness-level = <6>; pwms = <&pwm 4 25000 0>; // PI14 pwm_names = "backlight"; status = "okay"; };*/ }; }; fragment@1 { target = <&spi1>; __overlay__ { status = "okay"; cs-gpios = <&pio 7 5 0>; /*PH5=CS0 PH9=CS1*/ ili9341: ili9341@0 { compatible = "adafruit,yx240qv29", "ilitek,ili9341"; reg = <0>; pinctrl-names = "default"; spi-max-frequency = <48000000>; rotation = <270>; reset-gpios = <&pio 8 6 0>; /* PI6 */ dc-gpios = <&pio 7 4 0>; /* PH4 */ backlight = <&backlight_gpio>; }; ads7846: ads7846@0 { compatible = "ti,ads7846"; reg = <1>; pinctrl-names = "default"; spi-max-frequency = <2000000>; interrupts = <8 5 1>; /* PI5 - IRQ */ interrupt-parent = <&pio>; pendown-gpio = <&pio 8 5 0>; /* PI5 */ ti,swap-xy = <1>; ti,keep_vref_on = /bits/ 16 <1>; ti,x-min = /bits/ 16 <280>; ti,y-min = /bits/ 16 <350>; ti,x-max = /bits/ 16 <3850>; ti,y-max = /bits/ 16 <3850>; ti,pressure-min = /bits/ 16 <0>; ti,pressure-max = /bits/ 16 <255>; ti,x-plate-ohms = /bits/ 16 <133>; ti,debounce-max = /bits/ 16 <50>; ti,debounce-tol = /bits/ 16 <30>; ti,debounce-rep = /bits/ 16 <1>; wakeup-source; }; }; }; }; Xorg.0.log (fragment): [ 19.707] (II) config/udev: Adding input device ADS7846 Touchscreen (/dev/input/event0) [ 19.707] (**) ADS7846 Touchscreen: Applying InputClass "libinput touchscreen catchall" [ 19.707] (**) ADS7846 Touchscreen: Applying InputClass "calibration" [ 19.707] (II) LoadModule: "libinput" [ 19.708] (II) Loading /usr/lib/xorg/modules/input/libinput_drv.so [ 19.733] (II) Module libinput: vendor="X.Org Foundation" [ 19.733] compiled for 1.21.1.3, module version = 1.2.1 [ 19.733] Module class: X.Org XInput Driver [ 19.733] ABI class: X.Org XInput driver, version 24.4 [ 19.733] (II) Using input driver 'libinput' for 'ADS7846 Touchscreen' [ 19.733] (**) ADS7846 Touchscreen: always reports core events [ 19.733] (**) Option "Device" "/dev/input/event0" [ 19.772] (II) event0 - ADS7846 Touchscreen: is tagged by udev as: Touchscreen [ 19.773] (II) event0 - ADS7846 Touchscreen: device is a touch device [ 19.773] (II) event0 - ADS7846 Touchscreen: device removed [ 19.824] (**) Option "config_info" "udev:/sys/devices/platform/soc/5011000.spi/spi_master/spi1/spi1.1/input/input0/event0" [ 19.824] (II) XINPUT: Adding extended input device "ADS7846 Touchscreen" (type: TOUCHSCREEN, id 6) [ 19.825] (**) Option "AccelerationScheme" "none" [ 19.825] (**) ADS7846 Touchscreen: (accel) selected scheme none/0 [ 19.825] (**) ADS7846 Touchscreen: (accel) acceleration factor: 2.000 [ 19.825] (**) ADS7846 Touchscreen: (accel) acceleration threshold: 4 [ 19.828] (II) event0 - ADS7846 Touchscreen: is tagged by udev as: Touchscreen [ 19.829] (II) event0 - ADS7846 Touchscreen: device is a touch device [ 19.831] (II) config/udev: Adding input device ADS7846 Touchscreen (/dev/input/mouse0) [ 19.831] (**) ADS7846 Touchscreen: Applying InputClass "calibration" [ 19.831] (II) No input driver specified, ignoring this device. [ 19.831] (II) This device may have been added with another device file. [ 19.833] (II) config/udev: Adding input device sunxi-ir (/dev/input/event1) [ 19.833] (**) sunxi-ir: Applying InputClass "libinput keyboard catchall" [ 19.833] (II) Using input driver 'libinput' for 'sunxi-ir' [ 19.833] (**) sunxi-ir: always reports core events [ 19.833] (**) Option "Device" "/dev/input/event1" [ 19.836] (II) event1 - sunxi-ir: is tagged by udev as: Keyboard Pointingstick
-
Hello, I've issue with nameserver. My router DHCP DNS server point to the Pi which has IP 10.6.6.3. But for unknown reason 1.0.0.1 keep added in the /etc/resolv.conf: # This is /run/systemd/resolve/resolv.conf managed by man:systemd-resolved(8). # Do not edit. # # This file might be symlinked as /etc/resolv.conf. If you're looking at # /etc/resolv.conf and seeing this text, you have followed the symlink. # # This is a dynamic resolv.conf file for connecting local clients directly to # all known uplink DNS servers. This file lists all configured search domains. # # Third party programs should typically not access this file directly, but only # through the symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a # different way, replace this symlink by a static file or a different symlink. # # See man:systemd-resolved.service(8) for details about the supported modes of # operation for /etc/resolv.conf. nameserver 1.0.0.1 nameserver 10.6.6.3 search . I've tried to manually edit and remove it from /etc/resolv.conf but it will come back. I'm using image from https://github.com/armbian/community/releases/download/24.8.0-trunk.495/Armbian_community_24.8.0-trunk.495_Orangepizero2w_bookworm_current_6.6.36_minimal.img.xz 10-dhcp-all-interfaces.yaml # Added by Armbian # # Reference: https://netplan.readthedocs.io/en/stable/netplan-yaml/ # # Let systemd-networkd manage all Ethernet devices on this system, but be configured by Netplan. network: version: 2 renderer: networkd ethernets: all-eth-interfaces: match: name: "e*" dhcp4: yes link-local: [ ipv4 ] Is there anything I'm missing?
-
Hello, I'm using USB C to Ethernet adapter and the download speed is below 1Mbps while upload speed as expected. I have 600Mbps down and 500Mbps up ISP plan but since the adapter used USB2.0 it should cap both down and up at ~90Mbps, at least I have tested this with a Galaxy Tab. Image: Armbian_community_24.8.0-trunk.399_Orangepizero2w_bookworm_current_6.6.36_minimal.img.xz Power supply: 5V2A SD: Sandisk Ultra 64GB Adapter (100Mbps): Speedtest: ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host noprefixroute valid_lft forever preferred_lft forever 2: enxec9a0c1e8e6f: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000 link/ether ec:9a:0c:1e:8e:6f brd ff:ff:ff:ff:ff:ff inet 10.7.4.11/24 metric 100 brd 10.7.4.255 scope global dynamic enxec9a0c1e8e6f valid_lft 86390sec preferred_lft 86390sec 3: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000 link/ether fe:ae:6b:87:53:f1 brd ff:ff:ff:ff:ff:ff 4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000 link/ether 48:f5:61:9d:46:2c brd ff:ff:ff:ff:ff:ff inet 169.254.247.42/16 metric 2048 brd 169.254.255.255 scope link wlan0 valid_lft forever preferred_lft forever
-
Hi there, I'm trying to set up AP + STA on wlan0 using Orange Pi Zero 2W and Orange Pi Zero 3 with the Armbian image. I managed to do this on a Raspberry Pi Zero W. I encountered a problem: when creating a virtual access point, the process hangs and cannot be killed. Any attempt to view the logs after starting the process also leads to a hang, and only a reboot helps. This problem does not occur on the Raspberry Pi. I use the command: sudo iw phy phy0 interface add ap0 type __ap. For testing, I added an external USB Wi-Fi module to the Orange Pi Zero 3 and managed to create a virtual access point on it without any problems or hangs, so this problem only occurs on wlan0. The issue occurs on both Orange Pi Zero 2W and Orange Pi Zero 3, and they behave the same. Also, attempting to delete wlan0 via 'sudo iw dev wlan0 del' causes the device to hang. Has anyone encountered this situation? Is there a solution to this problem, and is it possible to make AP and STA on one interface on OPi Zero 2W/3 ? Here is the output of 'iw list': Wiphy phy1 //wlan0 Orange Pi [...] Supported interface modes: * IBSS * managed * AP * P2P-client * P2P-GO * P2P-device software interface modes (can always be added): valid interface combinations: * #{ managed, AP } <= 1, #{ P2P-client, P2P-GO } <= 1, #{ P2P-device } <= 1, total <= 3, #channels <= 2 [...] Wiphy phy0 //USB Wi-Fi adapter [...] Supported interface modes: * managed * AP * AP/VLAN * monitor software interface modes (can always be added): * AP/VLAN * monitor software interface modes (can always be added): * AP/VLAN * monitor interface combinations are not supported [...] Here is the output of 'iw list' on the Raspberry Pi: Wiphy phy0 [...] Supported interface modes: * IBSS * managed * AP * P2P-client * P2P-GO * P2P-device software interface modes (can always be added): valid interface combinations: * #{ managed } <= 1, #{ P2P-device } <= 1, #{ P2P-client, P2P-GO } <= 1, total <= 3, #channels <= 2 * #{ managed } <= 1, #{ AP } <= 1, #{ P2P-client } <= 1, #{ P2P-device } <= 1, total <= 4, #channels <= 1 [...] As far as I understand, based on the "valid interface combinations", wlan0 on the Orange Pi cannot support both managed and AP simultaneously. Could this be the reason? For the Wi-Fi adapter, "interface combinations are not supported". Thanks in advance!
-
Hello, I have connected a microSD module to the SPI1 CS0 pins Is there a way to mount an SPI device? I tried, but I got this error: mount: /mnt/sdcard: /dev/spidev1.0 is not a block device. What is the best way to easily manage files on this secondary SD card?
-
Current UWE5622 driver(from the extension) will trigger a kernel warning raised by `void dev_addr_check(struct net_device *dev)`. The following patch seems fix the problem. The bug reporting guide told me not to post this to armbian/build so I decide to make a shout in the forum. diff --git a/drivers/net/wireless/uwe5622/unisocwifi/main.c b/drivers/net/wireless/uwe5622/unisocwifi/main.c index bf2ec6c..b83ab8e 100644 --- a/drivers/net/wireless/uwe5622/unisocwifi/main.c +++ b/drivers/net/wireless/uwe5622/unisocwifi/main.c @@ -15,6 +15,7 @@ * GNU General Public License for more details. */ +#include <linux/etherdevice.h> #include "sprdwl.h" #include "npi.h" #include "cfg80211.h" @@ -944,12 +945,12 @@ static int sprdwl_set_mac(struct net_device *dev, void *addr) if (!is_zero_ether_addr(sa->sa_data)) { vif->has_rand_mac = true; memcpy(vif->random_mac, sa->sa_data, ETH_ALEN); - memcpy(dev->dev_addr, sa->sa_data, ETH_ALEN); + eth_hw_addr_set(dev, sa->sa_data); } else { vif->has_rand_mac = false; netdev_info(dev, "need clear random mac for sta/softap mode\n"); memset(vif->random_mac, 0, ETH_ALEN); - memcpy(dev->dev_addr, vif->mac, ETH_ALEN); + eth_hw_addr_set(dev, vif->mac); } } /*return success to pass vts test*/ BTW here's the kernel warning log(the real hardware address is masked): [ 429.029816] unisoc_wifi unisoc_wifi wlan0: start set random mac: de:cd:04:5c:1e:4d [ 429.031469] unisoc_wifi unisoc_wifi wlan0: Current addr: de cd 04 5c 1e 4d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 429.031505] unisoc_wifi unisoc_wifi wlan0: Expected addr: aa bb cc dd ee ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 429.031525] ------------[ cut here ]------------ [ 429.031535] netdevice: wlan0: Incorrect netdev->dev_addr [ 429.031656] WARNING: CPU: 0 PID: 861 at net/core/dev_addr_lists.c:519 dev_addr_check+0xb0/0x140 [ 429.031701] Modules linked in: algif_hash algif_skcipher af_alg bnep sprdwl_ng hci_uart btqca btrtl btintel btbcm bluetooth ecdh_generic ecc sunxi_addr cfg80211 lz4hc lz4 zram binfmt_misc snd_soc_hdmi_codec sunxi_cedrus(C) polyval_ce polyval_generic v4l2_mem2mem dw_hdmi_i2s_audio dw_hdmi_cec sunxi_cir rc_core videobuf2_dma_contig videobuf2_memops joydev videobuf2_v4l2 videodev videobuf2_common pwm_sunxi_enhance mc dump_reg display_connector cpufreq_dt sprdbt_tty uwe5622_bsp_sdio rfkill fuse dm_mod cdc_ether usbnet r8152 [ 429.032075] CPU: 0 PID: 861 Comm: NetworkManager Tainted: G WC 6.6.31-current-sunxi64 #1 [ 429.032096] Hardware name: OrangePi Zero 2W (DT) [ 429.032109] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 429.032131] pc : dev_addr_check+0xb0/0x140 [ 429.032150] lr : dev_addr_check+0xb0/0x140 [ 429.032168] sp : ffff800083f83510 [ 429.032178] x29: ffff800083f83510 x28: ffff800080f49a18 x27: 0000000000000000 [ 429.032213] x26: 0000000000000001 x25: 0000000000000000 x24: ffff0000c2b80268 [ 429.032246] x23: 0000000000001002 x22: ffff800083f839c0 x21: ffff8000810859c8 [ 429.032281] x20: ffff0000c2b80000 x19: ffff0000c2b80000 x18: 0000000000000000 [ 429.032314] x17: 0000000000000000 x16: 0000000000000000 x15: fffffffffffcbb27 [ 429.032347] x14: 2030302030302030 x13: 00000000000002a6 x12: 00000000ffffffea [ 429.032381] x11: 00000000ffffefff x10: 00000000ffffefff x9 : ffff800081567ba8 [ 429.032415] x8 : 0000000000017fe8 x7 : c0000000ffffefff x6 : 0000000000000001 [ 429.032447] x5 : ffff0000ff75da08 x4 : 0000000000000000 x3 : 0000000000000027 [ 429.032480] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff0000ca116200 [ 429.032513] Call trace: [ 429.032524] dev_addr_check+0xb0/0x140 [ 429.032545] __dev_open+0x40/0x1e0 [ 429.032571] __dev_change_flags+0x1e8/0x2b8 [ 429.032598] dev_change_flags+0x24/0x6c [ 429.032622] do_setlink+0x220/0xe20 [ 429.032648] __rtnl_newlink+0x494/0x8c0 [ 429.032665] rtnl_newlink+0x50/0x7c [ 429.032681] rtnetlink_rcv_msg+0x2b0/0x384 [ 429.032705] netlink_rcv_skb+0x5c/0x128 [ 429.032724] rtnetlink_rcv+0x18/0x24 [ 429.032747] netlink_unicast+0x2c0/0x328 [ 429.032773] netlink_sendmsg+0x1d4/0x440 [ 429.032789] __sock_sendmsg+0x54/0x60 [ 429.032807] ____sys_sendmsg+0x27c/0x2e0 [ 429.032824] ___sys_sendmsg+0x80/0xdc [ 429.032844] __sys_sendmsg+0x68/0xc4 [ 429.032862] __arm64_sys_sendmsg+0x24/0x30 [ 429.032881] invoke_syscall+0x48/0x118 [ 429.032907] el0_svc_common.constprop.0+0x40/0xe8 [ 429.032931] do_el0_svc+0x20/0x2c [ 429.032952] el0_svc+0x40/0xf4 [ 429.032977] el0t_64_sync_handler+0x13c/0x158 [ 429.033001] el0t_64_sync+0x190/0x194 [ 429.033021] ---[ end trace 0000000000000000 ]--- reproduced on: orangepi zero2w community build custom orangepi zero2w kernel using armbian's patches I wonder if this is the correct fix as I have little knowledge in linux netdev drivers.
-
Hi, How to enable i2c on PI8(SDA) and PI7(SCL)? I'm newbie in linux and not really understand what am I actually doing so I tried to make it with chatgpt but still not working. root@orangepizero2w:/# sudo i2cdetect -y 0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- UU -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- It can't see any device, but there should be one on the 0x21. Could somebody help me out with this? dmesg | grep i2c [ 0.739582] i2c_dev: i2c /dev entries driver [ 0.739878] mv64xxx_i2c 7081400.i2c: can't get pinctrl, bus recovery not supp orted [ 0.740303] i2c 0-0036: Fixed dependency cycle(s) with /soc/pinctrl@300b000 [ 1.340117] sun50i-h616-pinctrl 300b000.pinctrl: unsupported function i2c0 on pin PI8 [ 1.340132] sun50i-h616-pinctrl 300b000.pinctrl: unsupported function i2c0 on pin PI7 [ 1.340141] mv64xxx_i2c 5002000.i2c: there is not valid maps for state defaul t [ 1.340264] sun50i-h616-pinctrl 300b000.pinctrl: unsupported function i2c0 on pin PI8 [ 1.340279] sun50i-h616-pinctrl 300b000.pinctrl: unsupported function i2c0 on pin PI7 [ 1.340287] mv64xxx_i2c 5002000.i2c: there is not valid maps for state defaul t [ 1.341370] axp20x-i2c 0-0036: AXP20x variant AXP313a found [ 1.342890] axp20x-i2c 0-0036: AXP20X driver loaded [ 269.046993] i2c i2c-2: mv64xxx: I2C bus locked, block: 1, time_left: 0 [ 271.094978] i2c i2c-2: mv64xxx: I2C bus locked, block: 1, time_left: 0 Tried to edit device tree via armbian-config (now it is probably kinda messy): armbianEnv.txt: verbosity=1 bootlogo=false console=both disp_mode=1920x1080p60 overlay_prefix=sun50i-h618 overlays=i2c0 i2c1 i2c2 i2c3 uart5 param_uart1_rtscts=1 param_uart2_rtscts=2 param_uart2_rtscts=3 param_uart2_rtscts=4 param_uart2_rtscts=5 rootdev=UUID=88b03ed8-436d-4226-bf01-975ceef8cc1b rootfstype=ext4 usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u
-
Hi, I have Armbian_community_24.8.0-trunk.6_Orangepizero2w_bookworm_current_6.6.31_minimal on my Orange Pi Zero 2W. It has an expansion board but the ethernet port does not work on it. ip a show eth0 >> Device "eth0" does not exist. Only the Wi-Fi works.
-
Hi everyone! I wonder if modifying the "fbdev" driver to use Mali GPU to improve gaming performance is possible. I enabled `gpu` dtb, but according to "glxinfo -B" it uses "Device: llvmpipe, Accelerated: no". I'm curious if this can be improved somehow. BTW I found this old commit for Odroid C2: link
-
I've seen this question asked quite frequently here and all the posts end before there is a solution. I think it's time we had a crystal clear discussion on how it can be done. Not just for my curiosity, but for the people who've asked before and for the people who will ask in the future. The reason: Many hats/shields designed for RaspberryPi would otherwise be compatible with OrangePi if Armbian/u-boot didn't direct the debug output to UART0. UART0 is the most commonly used serial connection for hats/shields designed for RaspberryPi. OrangePi has multiple UART gpio so it would make sense for the O.S. (Armbian) to use the one that least impacts the users ability to actually use their hardware. Debug output is important but not so much so that the user cannot easily disable it.
-
I'm trying to enable GPU support for watching youtube on orange pi 2 zero w model. But there is no Mali driver and even kernel package How can I enable this?
-
Hello, I have recently setup Armbian on my Orange Pi Zero 2W for a project I am working on. Everything works great so far but one thing I have noticed is that permissions feel much reduced to my user account. I require sudo to do basically everything from create a file in the home folder to use apt. This feels very different from the feel of the Raspbian install on like a Raspberry Pi. Is there any way I can change the user permissions so I won't have to use sudo for everything? Its been a bigger problem for a project I'm using Clion for where files are synced between my laptop to the pi using SFTP and Rsync but I constantly get errors about unable to create or transfer files and folders due to permission errors causing me to need to delete the remote changes and manually copy them over with sudo. I understand that doing this compromises security and is riskier but I'm fine with that. Any and all help would be great
-
Hello Armbian community, Firstly, thank you for the amazing work that you do. Having Armbian has made the setup process so simple, and I really appreciate that I'm completely new to the world of SBCs and Armbian (but not Linux), and this issue had me stumped for a long time. I wanted to share the solution for those who are in the same position as me, as I only found this on Raspberry Pi resources. Sorry if this has already been covered elsewhere in the forums - my searches didn't show any answers from here, and additionally, I keep getting time-locked (forced to wait 30sec) for every forum search. The model of OPI I have is the Orange Pi Zero 2W 4G RAM. I installed the Armbian Bookworm image (Armbian_24.2.6_Orangepizero2w_bookworm_current_6.6.28_minimal.img.xz). The SD card I'm using is a 32GB SanDisk card that is A1 speed. That was a lucky purchase considering I knew nothing of SD cards when I bought it - I just got the cheap thing, lmao. The Problem & its Symptoms The issue I initially had was that when I would try to SSH into my OPI, it would hang for a really long time after inputting user credentials before spitting out something or other about a broken pipe (in other words, timed out because of no user input). I could ping the OPI and it would return the appropriate results: PING 192.168.1.154 (192.168.1.154) 56(84) bytes of data. 64 bytes from 192.168.1.154: icmp_seq=1 ttl=64 time=127 ms 64 bytes from 192.168.1.154: icmp_seq=2 ttl=64 time=4.15 ms 64 bytes from 192.168.1.154: icmp_seq=3 ttl=64 time=2.13 ms 64 bytes from 192.168.1.154: icmp_seq=4 ttl=64 time=3.97 ms 64 bytes from 192.168.1.154: icmp_seq=5 ttl=64 time=5.19 ms 64 bytes from 192.168.1.154: icmp_seq=6 ttl=64 time=2.80 ms ^C --- 192.168.1.154 ping statistics --- 6 packets transmitted, 6 received, 0% packet loss, time 5007ms rtt min/avg/max/mdev = 2.133/24.182/126.853/45.926 ms Unlike a lot of other posts on the forum where the host was unreachable, it wasn't a problem in this instance. I made sure to run `# systemctl enable --now ssh` for the SSH service when setting up for the first time. When I'd try to SSH in, `systemctl status ssh` would say the session was open for my client. Unfortunately, on the client side that was never reflected, but it did show that there wasn't any other kind of network problem at play. The same problem happened without any firewall enabled, so that was not the problem either. I reinstalled the OS 3 times, all times using Balena Etcher, though the first time I did it directly from the .img file rather than the .xz archive. The issue was still not fixed after all those times. There was the option to reset the OpenSSH host keys but I thought every reinstall I did effectively did that anyway, so I didn't bother. :> After a bit of searching elsewhere, I discovered this: https://raspberrypi.stackexchange.com/questions/143142/has-anyone-solved-raspberry-pi-zero-w-ssh-client-loop-send-disconnect-broken Basically, "...open-ssh has relatively recently begun using quality-of-service (QoS) metrics to try to optimize its performance based on the expected behavior of the connection, and its default is to assume a reliability that the Pi Zero W's tiny wifi simply can't deliver; as a result it gets caught waiting for lost packets rather than retrying." The Solution As outlined in the linked post: 1. Open /etc/ssh/sshd_conf with your editor of choice 2. Append `IPQoS 0x00` to the file (append meaning add at the end). This disables the quality of service metrics 3. Restart SSH service (`# systemctl restart ssh`) I can now SSH into the OPI nicely. Yay! ___ ____ _ _____ ______ __ / _ \| _ \(_) |__ /___ _ __ ___|___ \ \ / / | | | | |_) | | / // _ \ '__/ _ \ __) \ \ /\ / / | |_| | __/| | / /| __/ | | (_) / __/ \ V V / \___/|_| |_| /____\___|_| \___/_____| \_/\_/ Welcome to Armbian 24.2.6 Bookworm with Linux 6.6.28-current-sunxi64 No end-user support: community creations System load: 2% Up time: 19:30 Memory usage: 4% of 3.84G IP: 192.168.1.154 CPU temp: 46°C Usage of /: 7% of 29G [ Menu-driven system configuration (beta): sudo apt update && sudo apt install armbian-config ] Last login: Thu May 9 18:06:47 2024 from 192.168.1.104 orangepi@orangepizero2w:~$ I hope this helps anyone who comes across it, and that it wasn't something extremely obvious that I just missed... ^^; But also, maybe it could be fixed in new Armbian images (if possible)? This could stump other newbies if left as is.