Slackware - ARMThis forum is for the discussion of Slackware ARM.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I built a wireless access point out of a rockpro64, a single microsd card, and an alfa network long-range usb adpater, model AWUS036NHA, that uses the Atheros AR9271 chipset.
I had to rebuild the kernel and modules and enable the ath9k modules for it to pick up the adapter.
I had to intall hostapd from slackbuilds and configure it.
It's a very basic setup with the ethernet getting the internet from the dsl modem over eth0; and hostapd creating the hot spot on wlan0; and iptables providing firewall with NAT; and bind providing cache only nameserver; and dhcpd assigning ip addresses to wireless clients.
The only caveat at the moment, is that upon startup or reboot, it always ends up at a u-boot prompt, where I type reset, and then on the second boot, it finds the microSD and the menu with 1 for installer and 2 for slackware OS, with OS being the default.
I live remotely, and power outages happen, especially in winter. It is plugged in to a UPS, but the battery only lasts about an hour. It will inevitably power cycle, and I was hoping to make it headless to not need to keep a keyboard and hdmi screen attached to it just to type reset at the u-boot prompt.
Are there any suggestions on ways to make it boot all the way to the menu configured by extlinux.conf every time?
Is there any error output in uboot, before typing reset? Maybe the sd card can't initialize in time? Any strange output from the usb port of the wlan nic?
Here is what I see on the very small HDMI screen, leading up to the u-boot prompt:
Code:
Retrieving file: pxelinux.cfg/default-arm-rk3399-rockpro64_rk3399
Speed: 1000, full duplex
*** ERROR: `serverip' not set
Retrieving file: pxelinux.cfg/default-arm-rk3399
Speed: 1000, full duplex
*** ERROR: `serverip' not set
Retrieving file: pxelinux.cfg/default-arm
Speed: 1000, full duplex
*** ERROR: `serverip' not set
Retrieving file: pxelinux.cfg/default
Speed: 1000, full duplex
*** ERROR: `serverip' not set
Config file not found
rockchip_pcie pcie@f8000000: failed to find ep_gpios property
Speed: 1000, full duplex
BOOTP broadcast 1
DHCP client bound to address 192.168.1.2 (17ms)
*** ERROR: `serverip' not set
Cannot autoload with TFTPGET
SF: Detected gd25q128 with page size 256 Bytes, erase size 4KiB, total 16MiB
device 0 offset 0xffe000, size 0x2000
SF: 8192 bytes @ 0xffee000 Read: OK
## Executing script at 005000000
Wrong image format for "source command
SCRIPT FAILED: continuing...
=>
As far as the USB port output, I don't have the serial out; but I have ordered the woodpecker USB serial dongle, but it hasn't arrived yet. I reckon that will help with many of these sbc projects. But I do figure it probably is what you suggest about the sdcard not initializing in time. I am obtaining the ethernet's IP with DHCP, and the cable is connected to the dsl modem/router. Though I and am not concerned about it already having IP during u-boot, perhaps if I set the serverip environmental variable in u-boot, it won't waste time on those errors and have more time for the sdcard initialization. Hmm... I guess I'll try that.
Setting the serverip environmental variable with setenv, and then saveenv, made it take way longer trying every tftpboot target systematically, but still ended up at the u-boot prompt. So I changed it back to undefined.
If I try run bootcmd_mmc it has a voltage detect error... so I think that means it did not find mmc1. But after reset, it still finds it.
I am using the microsd instead of a nvme drive, because this is just an access point for now, and I don't need heaps of storage--so that is one deviation from official documentation.
Code:
=> printenv bootcmd
bootcmd=run distro_bootcmd
=> printenv distro_bootcmd
distro_bootcmd=setenv nvme_need_init; for target in $(boot_targets}; do run bootcmd_$(target); done
=> printenv boot_targets
boot_targets=mmc1 mmc0 nvme0 usb0 pxe dhcp sf0
=>
Is there any way, in u-boot, to adjust the bootcmd environmental variable (or another variable) to cause a delay long enough to allow the mmc1 to be detected, similar to rootdelay= in a kernel append line?
Oh... yes there is, it has bootdelay; but changing it from 2 seconds to 8 seconds was ineffective, because the bootdelay started its countdown after the scanning for devices occured.
I built a wireless access point out of a rockpro64, a single microsd card, and an alfa network long-range usb adpater, model AWUS036NHA, that uses the Atheros AR9271 chipset.
Tue Sep 05 08:08:09 UTC 2023
a/kernel_armv8-6.1.51-aarch64-1.txz: Upgraded.
Kernel configuration changes:
Added modules for Wireless PCI cards sporting the Atheros
AR9xxx chipset. Thanks to slac-in-the-box on LQ for the suggestion.
Thankyou @drmozes and @glorsplitz: updating slackware has never been easier!
After a "slackpkg update" and a "slackpkg upgrade-all" the new kernel (6.1.51) was there. I just reboot and it works. The atheros based usb wifi adapter was detected, so that really makes staying up-to-date a breeze. I guess the days of building kernels, initrds, creating symbolic links, etc. are over. I'm gonna have to use a risc-v sbc to have fun now
It's the Platform Architect & Developer's kind attention to working with us with what we run into.
I am grateful, and hat is off to drmozes.. his benevolence is following in the footsteps of PV... and mara's is following in footsteps of drmozes... and I'm like a tracker sorting out all these trails... my ethernet bridge was a guruplug with slackware-arm, but it has given up the ghost. I support linux because I like the foss sentiment, and now that there is fosh, foss-on-fosh appeals to the same sentiment. Tinkering with riscv will be because of this sentiment and because star64 sbc happens to have two ethernet ports and is suitable to be a bridge. If it wasn't for trailing all you legends, I wouldn't be up to it. Of all the linux communities, slackware remains the least tainted by the corporacracy, and I am happy to be here. I've put in enough time to really appreciate how much has gone in to this aarch64 port to make the updating so effortless. That felt like I was making a toast, and I am. Cheers to you all.
Last edited by slac-in-the-box; 09-11-2023 at 06:06 AM.
Reason: I had accidentally called the star64 sbc the starv... oops--fixed.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.