DRAWS on Pi 3b+ with Raspbian Buster #draws
I have followed the notes here (https://docs.google.com/document/d/1Wq-jNLXYuREIOcr0OVu1FxPNhDFGuCOu6dX5OQ2BVxA/edit#). I'm on my second go-round with a fresh image.
I can't seem to get the drivers to load properly.
Curious if anyone out there running buster on a 3b+ gotten the sound card to work?
Output of "showudrc.sh":
pi@raspberrypi:~ $ sudo n7nix/bin/showudrc.sh
==== Sound Card ====
No udrc sound card found.
==== Pi Ver ====
Pi 3 Model B+ Mfg by Sony UK
==== udrc Ver ====
Found a DRAWS
HAT ID EEPROM
Product: Digital Radio Amateur Work Station
Product ID: 0x0004
Product ver: 0x0106
Vendor: NW Digital Radio
==== sys Ver ====
----- image version
2019 07 11 20:42:56 PDT: image_install.sh: image install script START
Linux version 4.19.57-v7+ (dom@buildbot) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1244 SMP Thu Jul 4 18:45:25 BST 2019
----- /etc/*version: 10.0
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 10 (buster)
Static hostname: raspberrypi
Icon name: computer
Machine ID: b487ea14459143c1b7d198356e08876f
Boot ID: e3682e09b4284de3a39f151c0a37ae38
Operating System: Raspbian GNU/Linux 10 (buster)
Kernel: Linux 4.19.57-v7+
Command 'apt-get install udrc-dkms' failed or was not run.
dpkg-query: no packages found matching udrc-dkms
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
ii raspberrypi-kernel 1.20190709-1 armhf Raspberry Pi bootloader
Directory: /proc/device-tree/soc/i2c@7e804000/tlv320aic32x4@18 exists and status is okay
Compass preference file not found: /etc/apt/preferences.d/compass
Compass apt sources list file not found: /etc/apt/sources.list.d/compass.list
---- compass package files
ls: cannot access '/var/lib/apt/lists/archive.compasslinux.org_*': No such file or directory
----- Dire Wolf version 1.5
==== Filesystem ====
/dev/root 59G 2.2G 54G 4% /
==== boot config ====
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
# enable udrc/draws if no eeprom
# Enable audio (loads snd_bcm2835)
gpsd: 3.19 (revision 3.19)
● gpsd.service - GPS (Global Positioning System) Daemon
Loaded: loaded (/lib/systemd/system/gpsd.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2019-07-11 21:57:38 PDT; 4min 26s ago
Process: 523 ExecStart=/usr/local/sbin/gpsd $GPSD_OPTIONS $OPTIONS $DEVICES (code=exited, status=0/SUCCESS)
Main PID: 524 (gpsd)
Tasks: 1 (limit: 2200)
└─524 /usr/local/sbin/gpsd -n /dev/ttySC0 /dev/pps0
Jul 11 21:57:38 raspberrypi systemd: Starting GPS (Global Positioning System) Daemon...
Jul 11 21:57:38 raspberrypi systemd: Started GPS (Global Positioning System) Daemon.
crw------- 1 root root 241, 0 Jul 11 21:57 /dev/pps0
crw-rw---- 1 root dialout 239, 0 Jul 11 21:57 /dev/ttySC0
crw-rw---- 1 root dialout 239, 1 Jul 11 21:57 /dev/ttySC1
-- chrony sources
210 Number of sources = 6
MS Name/IP address Stratum Poll Reach LastRx Last sample
#? GPS 0 3 0 - +0ns[ +0ns] +/- 0ns
#? PPS 0 3 0 - +0ns[ +0ns] +/- 0ns
^+ triangle.kansas.net 3 6 177 57 -66us[ +664us] +/- 83ms
^- you.dontlike.us 3 6 177 57 -4799us[-4069us] +/- 110ms
^- 0.time.dbsinet.com 2 6 177 117 -620us[ +111us] +/- 84ms
^* tesla.selinc.com 2 6 177 56 +2716ns[ +733us] +/- 38ms
-- chrony tracking
Reference ID : 4A75D602 (tesla.selinc.com)
Stratum : 3
Ref time (UTC) : Fri Jul 12 05:01:07 2019
System time : 0.000000026 seconds slow of NTP time
Last offset : +0.000730021 seconds
RMS offset : 0.002060165 seconds
Frequency : 2.778 ppm fast
Residual freq : -0.583 ppm
Skew : 0.666 ppm
Root delay : 0.013313225 seconds
Root dispersion : 0.029869111 seconds
Update interval : 64.1 seconds
Leap status : Normal
-- chrony sourcestats
210 Number of sources = 6
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev
GPS 0 0 0 +0.000 2000.000 +0ns 4000ms
PPS 0 0 0 +0.000 2000.000 +0ns 4000ms
triangle.kansas.net 7 3 200 -0.583 5.207 -90us 156us
you.dontlike.us 7 3 201 +0.986 10.467 -4630us 323us
0.time.dbsinet.com 6 4 136 -0.902 2.373 -726us 34us
tesla.selinc.com 7 7 201 -0.583 8.417 -7639ns 265us
-rw-r--r-- 1 root root 171 Jul 11 21:58 /etc/sensors.d/draws
Adapter: ISA adapter
Adapter: bcm2835 I2C adapter
+12V: +0.00 V
in5: +2.50 V
User ADC 1: +0.00 V
User ADC 2: +0.00 V
LA9KOA - Karl
I actually did a fresh install of Buster on a RPi3b+ while I was waiting for my RPi4 to arrive. So it is possible to run Buster on RPi3.
(RPi4 require Buster to boot, but the setup of Buster should be the same regardless of running on RPi3 or 4. I was able to just move the SD card over to my the RPi4 when it arrived)
The boot config can be a bit tricky. The lines need to be in the right order.
The drivers in Buster are already patched to work with DRAWS. However some of the scripts under n7nix/ are not updated for this, so if run they will move the in-kernel drivers out but not be able to build new drivers.
If this happened to you, you should see two driver files under /home/pi/tmp/
All this from memory. I will update with a copy of my boot config and exact name of the drivers when I get home. If noone else beat me to it :)
Your /boot/config.txt seems to be the same as the one on my RPi4, so that looks correct.
The 2 files Karl refers to that might have been moved to /home/pi/tmp, are
LA9KOA - Karl
Lars is faster than me :)
RPi3 by default boot the -v7+ variant that Lars refers above.
Aha! Thank you both.
Instead of running the n7nix code, I've been using it as inspiration, and gotten things to recognize the sound card, thanks to n7nix, Lars and Karl and all the docs that exist in the wiki.
I ended up doing a(nother!) stock buster install, adding the tlv* modules to my /etc/modules, modifying my boot/config.txt, and now it looks like it's on it's way to functionality.
I may add a page to the wiki with my approach in case someone else wants to do it by hand as well.
What I ended up doing was basically this:
1. vanilla buster install
2. update all the things (apt update ; apt upgrade)
3. add snd-soc-tlv320aic32x4-i2c and ax25 to /etc/modules
4. add dtoverlay=draws,alsaname=udrc and dtparam=audio=on to /boot/config.txt
5. install ax25, gpsd, hamlib, and related dev packages with apt
6. compile/install dire wolf from source
The hardware is working (gps confirmed, radio interface not yet confirmed), and I'm still working on getting the ax25 stuff configured and direwolf wired up correctly, but I think the hardware is functional now, as I'm seeing the sound card and the gps is working great.
Thanks again for your help!
For anyone following along at home, I did get all the hardware working, ax25 configured and dire wolf configured.
I installed pat, and am able to get the LED on the draws to light up when pat is trying to connect over ax25, so as soon as I can build my 6pin din -> wouxun HT cable I can start seeing how it works.
Thanks to everyone for all the assistance.
Goodbye signalink, and hello pi+draws.
To all using an HT with DRAWS:
Clamp on Ferrite Beads are recommended on both ends of the Cable to prevent RFI from interfering with the Pi.
Hi Jon,toggle quoted messageShow quoted text
Can you tell me where you got the snd-soc-tlv320aic32x4-i2c.ko file and do you also need UDRC and snd-soc-tlv320aic32x4.ko? Is there a ax25.ko? Where do you put those files in /lib/modules? Did you need to do a insmod command?
Frank - K0FEI