Skip to content

Instantly share code, notes, and snippets.

@noxowl
Last active September 21, 2022 06:59
Show Gist options
  • Save noxowl/4709f9a6677745194535e7ca7cad0bf6 to your computer and use it in GitHub Desktop.
Save noxowl/4709f9a6677745194535e7ca7cad0bf6 to your computer and use it in GitHub Desktop.
Setup the Respeaker with RPI3 in 2022

Setup the Respeaker with RPI3 in 2022 (with Kernel 4.19/32bit)

  1. Flash the SD card with latest(2020) Raspberry pi OS 4.19 kernel(32bit).
https://downloads.raspberrypi.org/raspios_lite_armhf/images/raspios_lite_armhf-2020-05-28/
  1. Fix kernel version to do not accidentally update it.
sudo apt-mark hold raspberrypi-kernel
sudo apt-mark hold raspberrypi-bootloader
  1. Update other packages and install dependencies.
sudo apt-get update --allow-releaseinfo-change
sudo apt-get upgrade
sudo apt-get install -y git debian-goodies vim wget lzma lzma-dev liblzma-dev libncurses5-dev rpi-source
sudo reboot
  1. Install kernel source from rpi-source.
sudo rpi-source
  1. Install dkms and raspberrypi-kernel-headers for dkms (as dummy package).
sudo apt-get install dkms raspberrypi-kernel-headers
  1. Remove kernel source 5.10
sudo rm -rf /lib/modules/5.10.*
  1. Set comment check_kernel_headers function in seeed-voicecard/install.sh
108|# update and install required packages
109| which apt-get &>/dev/null
110| if [[ $? -eq 0 ]]; then
111|  apt-get update -y
112|  # Raspbian kernel packages
113|  # apt-get -y install raspberrypi-kernel-headers raspberrypi-kernel
114|  # Ubuntu kernel packages
115|  # apt-get -y install linux-raspi linux-headers-raspi linux-image-raspi
116|  apt-get -y install dkms git i2c-tools libasound2-plugins
117|  # rpi-update checker
118|  # check_kernel_headers
119|fi
  1. Install Seeed-Voicecard with seeed-voicecard/install.sh and reboot.
  2. Check mic/speaker module status.
pi@raspberrypi:~$ arecord -L
null
    Discard all samples (playback) or generate zero samples (capture)
jack
    JACK Audio Connection Kit
pulse
    PulseAudio Sound Server
default
ac108
dmixer
ac101
usbstream:CARD=Headphones
    bcm2835 Headphones
    USB Stream Output
sysdefault:CARD=seeed8micvoicec
    seeed-8mic-voicecard, bcm2835-i2s-ac10x-codec0 ac10x-codec0-0
    Default Audio Device
dmix:CARD=seeed8micvoicec,DEV=0
    seeed-8mic-voicecard, bcm2835-i2s-ac10x-codec0 ac10x-codec0-0
    Direct sample mixing device
dsnoop:CARD=seeed8micvoicec,DEV=0
    seeed-8mic-voicecard, bcm2835-i2s-ac10x-codec0 ac10x-codec0-0
    Direct sample snooping device
hw:CARD=seeed8micvoicec,DEV=0
    seeed-8mic-voicecard, bcm2835-i2s-ac10x-codec0 ac10x-codec0-0
    Direct hardware device without any conversions
plughw:CARD=seeed8micvoicec,DEV=0
    seeed-8mic-voicecard, bcm2835-i2s-ac10x-codec0 ac10x-codec0-0
    Hardware device with all software conversions
usbstream:CARD=seeed8micvoicec
    seeed-8mic-voicecard
    USB Stream Output
    
pi@raspberrypi:~$ aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
jack
    JACK Audio Connection Kit
pulse
    PulseAudio Sound Server
default
ac108
dmixer
ac101
sysdefault:CARD=Headphones
    bcm2835 Headphones, bcm2835 Headphones
    Default Audio Device
dmix:CARD=Headphones,DEV=0
    bcm2835 Headphones, bcm2835 Headphones
    Direct sample mixing device
dsnoop:CARD=Headphones,DEV=0
    bcm2835 Headphones, bcm2835 Headphones
    Direct sample snooping device
hw:CARD=Headphones,DEV=0
    bcm2835 Headphones, bcm2835 Headphones
    Direct hardware device without any conversions
plughw:CARD=Headphones,DEV=0
    bcm2835 Headphones, bcm2835 Headphones
    Hardware device with all software conversions
usbstream:CARD=Headphones
    bcm2835 Headphones
    USB Stream Output
sysdefault:CARD=seeed8micvoicec
    seeed-8mic-voicecard, bcm2835-i2s-ac10x-codec0 ac10x-codec0-0
    Default Audio Device
dmix:CARD=seeed8micvoicec,DEV=0
    seeed-8mic-voicecard, bcm2835-i2s-ac10x-codec0 ac10x-codec0-0
    Direct sample mixing device
dsnoop:CARD=seeed8micvoicec,DEV=0
    seeed-8mic-voicecard, bcm2835-i2s-ac10x-codec0 ac10x-codec0-0
    Direct sample snooping device
hw:CARD=seeed8micvoicec,DEV=0
    seeed-8mic-voicecard, bcm2835-i2s-ac10x-codec0 ac10x-codec0-0
    Direct hardware device without any conversions
plughw:CARD=seeed8micvoicec,DEV=0
    seeed-8mic-voicecard, bcm2835-i2s-ac10x-codec0 ac10x-codec0-0
    Hardware device with all software conversions
usbstream:CARD=seeed8micvoicec
    seeed-8mic-voicecard
    USB Stream Output
  1. Done.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment