Home of the Squeezebox™ & Transporter® network music players.
Page 1 of 4 123 ... LastLast
Results 1 to 10 of 33
  1. #1

    pCP 8.0.0 USB WiFi chipset with in-tree drivers?

    I have dealt with the vagaries of Ralink and Realtek chipsets for many years now, so I endorse the decision to remove problematic drivers from the piCorePlayer distribution.

    However, this puts me in a quandry. I'm happily running pCP 7.0.1 on a RPi B+ with a Realtek-based USB dongle using the 8812au driver, now removed from 8.0.0.

    Kudos for warning me during the in-situ upgrade.

    I am in the process of manually building the rtl8812au driver (which works GREAT with all my x86_64 Ubuntu platforms). Only one thread on this single core Pi, though.

    It's now been over 2 hours with no end to the build in sight.

    I would much rather wallet-engineer a quick solution than deal with this rtl8812au single core build again.

    So what wireless USB drivers remain in the pCP 8.0.0 platform?

  2. #2
    Senior Member paul-'s Avatar
    Join Date
    Jan 2013
    Posts
    4,413
    Single core chips also have limited memory available, there is a chance you are running low of ram. Swap files are disabled by default. Perhaps remove nozswap from the command line. As for what's in the kernel, lists of drivers to chipsets to commercial products are not well maintained. You can look at the drivers in the extension wireless-KERNEL.tcz and see the list of drivers.....

    What are your wifi specs? I don't have a good feel of the AC and AX chipsets that work. (Since I use the 8812au product too) I don't have it compiled for armv6 though.
    piCorePlayer a small player for the Raspberry Pi in RAM.
    Homepage: https://www.picoreplayer.org

    Please donate if you like the piCorePlayer

  3. #3
    Senior Member paul-'s Avatar
    Join Date
    Jan 2013
    Posts
    4,413
    If you have an x86_64 ubuntu system, you could also cross compile the driver. I use a x86_64 system to compile all of the pCP kernels.
    piCorePlayer a small player for the Raspberry Pi in RAM.
    Homepage: https://www.picoreplayer.org

    Please donate if you like the piCorePlayer

  4. #4
    Editing the quote...

    Quote Originally Posted by paul- View Post
    there is a chance you are running low of ram.
    You can look at the drivers in the extension wireless-KERNEL.tcz and see the list of drivers.....
    What are your wifi specs? I don't have a good feel of the AC and AX chipsets that work. (Since I use the 8812au product too) I don't have it compiled for armv6 though.
    I am not picky about wifi specs, my WLAN supports 2.4/5GHz, and AC. I have not tried to connect any old B clients, although I'm pretty sure I successfully connect G and N clients (and AC clients work great). As long as my pCP can stream music, serve its web pages, and let me SSH, then I'm happy.

    Build is now finished, I might have some updates for your README as I could not follow it verbatim.

    I just downloaded all the wireless-*.tcz from /mnt/mmcblk0p2/tce/optional/ and will take a look inside.

    Here is the output from your extension build script, I got an error that I believe I can ignore:
    Code:
    tc@piCorePorch:/mnt/mmcblk0p2/tce/realtek-driversrc/rtl8812au$ ~/.local/bin/pcp_
    make_module_extension -k 5.10.42-pcpCore -e 88XX
    [ INFO ] Building kernel modules extension: 88XX-5.10.42-pcpCore
    [ INFO ] Building module for kernel version: 5.10.42-pcpCore
    [ INFO ] Loading Build dependancies
    [ INFO ] Timestamp for driver detection: Sep 17 13:02
    [ INFO ] Installing driver from /mnt/mmcblk0p2/tce/realtek-driversrc/rtl8812au
    install -p -m 644 88XXau.ko  /lib/modules/5.4.83-pcpCore/kernel/drivers/net/wireless/
    install: can't create '/lib/modules/5.4.83-pcpCore/kernel/drivers/net/wireless/': Is a directory
    make: *** [Makefile:2253: install] Error 1
    tar: empty archive
    tar: can't open '/tmp/mod.tar': No such file or directory
    [ INFO ] The contents of extension are:
    Parallel unsquashfs: Using 1 processor
    0 inodes (0 blocks) to write
    
    drwxr-xr-x tc/staff                  3 2021-09-17 15:33 squashfs-root
    [ INFO ] The extension can be found at /tmp/88XX-5.10.42-pcpCore.tcz
    [ INFO ] move 88XX-5.10.42-pcpCore.tcz and 88XX-5.10.42-pcpCore.tcz.md5.txt to /mnt/mmcblk0p2/tce/optional
    [ INFO ] Then edit /mnt/mmcblk0p2/tce/onboot.lst and add 88XX-KERNEL.tcz to the list.
    So at this point, I moved my 88XX*tcz files to /mnt/mmcblk0p2/tce/optional, and here is my onboot.lst:

    Code:
    tc@piCorePorch:/mnt/mmcblk0p2/tce$ cat onboot.lst
    crda.tcz
    firmware-atheros.tcz
    firmware-brcmwifi.tcz
    firmware-ralinkwifi.tcz
    firmware-rpi-wifi.tcz
    firmware-rtlwifi.tcz
    pcp-lirc.tcz
    pcp.tcz
    pigz.tcz
    wireless_tools.tcz
    wpa_supplicant.tcz
    88XX-5.10.42-pcpCore.tcz
    pcp-7.0.1-www.tcz
    If not obvious, I am still on 7.0.1. I am thinking of rebooting as a test. Do you think that is safe? (I may image this SD card before attempting the 8.0.0 in-situ upgrade again.)

    I appreciate your help, thanks!

  5. #5
    Quote Originally Posted by paul- View Post
    If you have an x86_64 ubuntu system, you could also cross compile the driver. I use a x86_64 system to compile all of the pCP kernels.
    I have set up cross-compile environments for OpenWrt and work with Yocto and buildroot occasionally, so I'm not completely clueless there. But I have never worked with TinyCoreLinux or tried to build PiCorePlayer. What's involved in your driver build environment?

  6. #6

    I'm brave! (and stupid :)

    I rebooted back into 7.0.1 with my new driver in onboot.lst, and wireless came back up. (This is a headless system, wifi only.)

    I will probably shut it down, take a SD card image, and then attempt a 8.0.0 in-situ upgrade.

    But I am still very interested in swapping to in-tree USB WLAN hardware, and perhaps an Ubuntu cross-compile environment if I stick with this Edimax dongle.

  7. #7
    Senior Member paul-'s Avatar
    Join Date
    Jan 2013
    Posts
    4,413
    Rebooting is fine, since you are on 7.0.1. The new kernel drivers would not be used anyway. I'm concerned about the error. It seems part of the install script from the source package did not pickup the new kernel name, and used the running kernel name. The extension may have no contents. However the compiled driver should still be sitting on the persistent disk.

    Looks like I need to try that procedure out again...different source packages use different variables. It's quite annoying.


    But yes please send me some notes, you are maybe user #5 that has tried it(Or at least that made a comment). Most got through it fine, but everyone reads code differently.
    Last edited by paul-; 2021-09-17 at 13:54.
    piCorePlayer a small player for the Raspberry Pi in RAM.
    Homepage: https://www.picoreplayer.org

    Please donate if you like the piCorePlayer

  8. #8
    Senior Member paul-'s Avatar
    Join Date
    Jan 2013
    Posts
    4,413
    Quote Originally Posted by Braklet View Post
    I have set up cross-compile environments for OpenWrt and work with Yocto and buildroot occasionally, so I'm not completely clueless there. But I have never worked with TinyCoreLinux or tried to build PiCorePlayer. What's involved in your driver build environment?
    RPI has a cross compiler toolchain in this repo. https://github.com/raspberrypi/tools

    But I use a crosstool-ng built tool chain. Nothing fancy, just set the environment variable CROSS_COMPILE to the path/prefix of you toolchain.
    piCorePlayer a small player for the Raspberry Pi in RAM.
    Homepage: https://www.picoreplayer.org

    Please donate if you like the piCorePlayer

  9. #9
    Quote Originally Posted by paul- View Post
    Rebooting is fine, since you are on 7.0.1. The new kernel drivers would not be used anyway. I'm concerned about the error. It seems part of the install script from the source package did not pickup the new kernel name, and used the running kernel name. The extension may have no contents. However the compiled driver should still be sitting on the persistent disk.

    Looks like I need to try that procedure out again...different source packages use different variables. It's quite annoying.


    But yes please send me some notes, you are maybe user #5 that has tried it(Or at least that made a comment). Most got through it fine, but everyone reads code differently.
    I'm glad I checked the thread, was just getting ready to in-situ upgrade. Is there something I can check inside the archive to ensure that it's OK?

    Here are my notes on the Github README:

    Add an introductory note about required static storage size. I expanded my second SD partition to 2GB, and with a newly-built WLAN driver it now consumes 1.2G:

    Code:
    tc@piCorePorch:~/.local/bin$ df -h
    Filesystem                Size      Used Available Use% Mounted on
    /dev/mmcblk0p2            1.9G      1.2G    587.0M  68% /mnt/mmcblk0p2
    Most of the space is taken by the kernel source:

    Code:
    tc@piCorePorch:/mnt/mmcblk0p2/tce$ du -sh *
    971.9M  kernelsrc
    36.0K   mydata.tgz
    1.0K    onboot.lst
    1.0K    onboot.lst-BAK
    1.0K    ondemand
    110.6M  optional
    1.0K    pcp_insitu_upgrade.log
    6.0K    pcp_resize.log
    176.0M  realtek-driversrc
    tc@piCorePorch:/mnt/mmcblk0p2/tce$
    In Step 2, insert the kernel parameter into the run command:
    Code:
    pcp_prepare_kernel_src -k <kernel version to build> -s <path to saved pCP kernel source - or where to save it>
    to make your following parameter explanation clearer, perhaps provide an example:

    Code:
    ~/.local/bin/pcp_prepare_kernel_src -k 5.10.42-pcpCore -s /mnt/mmcblk0p2/tce/kernelsrc
    Change Step 5 to:

    Code:
    cd <path to saved USB wireless device driver directory>
    ~/.local/bin/pcp_make_module_extension -k <kernel version to build> -e < extension name >
    e.g.
    Code:
    cd /mnt/mmcblk0p2/tce/realtek-driversrc/rtl8812au
    ~/.local/bin/pcp_make_module_extension -k 5.10.42-pcpCore -e 88XX
    Add an explanation that <exception name> is anything you choose to identify your device driver.
    Last edited by Braklet; 2021-09-17 at 14:54.

  10. #10
    Quote Originally Posted by paul- View Post
    I'm concerned about the error. It seems part of the install script from the source package did not pickup the new kernel name, and used the running kernel name. The extension may have no contents. However the compiled driver should still be sitting on the persistent disk.
    I'm glad I looked, you are 100% correct, I ended up with an empty archive that 7Zip won't open. 88XX-5.10.42-pcpCore.tcz is only 4K.

    The new modules are still on my SD card though:

    Code:
    tc@piCorePorch:/mnt/mmcblk0p2/tce/realtek-driversrc/rtl8812au$ ls -al
    total 4815
    drwxrwxr-x   12 tc       staff         1024 Sep 17 15:32 ./
    drwxrwxr-x    3 tc       staff         1024 Sep 17 13:35 ../
    -rw-rw-r--    1 tc       staff          296 Sep 17 15:32 .88XXau.ko.cmd
    -rw-rw-r--    1 tc       staff        10351 Sep 17 15:32 .88XXau.mod.cmd
    -rw-rw-r--    1 tc       staff        25022 Sep 17 15:32 .88XXau.mod.o.cmd
    -rw-rw-r--    1 tc       staff        10190 Sep 17 15:32 .88XXau.o.cmd
    -rw-rw-r--    1 tc       staff          269 Sep 17 15:32 .Module.symvers.cmd
    drwxrwxr-x    7 tc       staff         1024 Sep 17 13:37 .git/
    drwxrwxr-x    3 tc       staff         1024 Sep 17 13:37 .github/
    -rw-rw-r--    1 tc       staff          103 Sep 17 13:37 .gitignore
    -rw-rw-r--    1 tc       staff          223 Sep 17 15:32 .modules.order.cmd
    -rw-rw-r--    1 tc       staff      2311556 Sep 17 15:32 88XXau.ko
    -rw-rw-r--    1 tc       staff        10209 Sep 17 15:32 88XXau.mod
    -rw-rw-r--    1 tc       staff        11037 Sep 17 15:32 88XXau.mod.c
    -rw-rw-r--    1 tc       staff        19432 Sep 17 15:32 88XXau.mod.o
    -rw-rw-r--    1 tc       staff      2292516 Sep 17 15:32 88XXau.o
    Is there any way for me to rerun the extension generator to bundle these in the correct pCP format?

    Thanks!

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •