This is an enhancement fork with the explicit aim of supporting current shipping Raspbian/Ubuntu kernels without requiring downgrading. Please donate at https://hintak.github.io/ if it works for you. Use vX.Y branch for kernel version vX.Y
Find a file
2017-05-22 18:20:29 +08:00
asound.state set RINPUT2 and LINPUT2 flase 2017-05-16 14:34:18 +08:00
builddtbo.sh add all project files 2017-04-27 15:31:04 +08:00
dkms.conf add a install script 2017-05-22 18:20:29 +08:00
install.sh add a install script 2017-05-22 18:20:29 +08:00
Makefile add all project files 2017-04-27 15:31:04 +08:00
README.md Update README.md 2017-05-22 11:59:22 +08:00
seeed-voicecard-overlay.dts add all project files 2017-04-27 15:31:04 +08:00
seeed-voicecard.dtbo add all project files 2017-04-27 15:31:04 +08:00
wm8960.c remove debug message 2017-05-22 15:49:41 +08:00
wm8960.h add wm8960.h header file 2017-04-27 16:52:22 +08:00
wm8960.ko using 24M mclk 2017-05-16 14:31:19 +08:00

#seeed-voicecard

Firstly, get an updated kernel 4.9 :

sudo apt update
sudo apt install  raspberrypi-kernel-headers  raspberrypi-kernel

Next, while the upstream wm8960 codec is not currently supported by current Pi kernel builds, upstream wm8960 has some bugs, we had fixed it. we must it build manually.

Get the seeed voice card source code.

git clone http://git.oschina.net/seeed-se/seeed-voicecard
cd seeed-voicecard
make all

Next, copy then voice card overlay to boot dir, then apply it.

sudo cp seeed-voicecard.dtbo /boot/overlays

Load the driver default.

echo 'wm8960' | sudo tee --append /etc/modules > /dev/null

Invoke usage by adding this to /boot/config.txt: dtoverlay=seeed-voicecard

Check that the sound card name matches the source code seeed-voicecard.

pi@raspberrypi:~/seeed-voicecard$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: seeedvoicecard [seeed-voicecard], device 0: bcm2835-i2s-wm8960-hifi wm8960-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
pi@raspberrypi:~/seeed-voicecard$ 

Next apply the alsa controls setting

sudo alsactl --file=asound.state restore

If you want to change the alsa settings, You can use "sudo alsactl --file=asound.state store " to save it.

Test:

arecord -f cd -Dhw:1 | aplay -Dhw:1

Enjoy !