2016/09/11

UP board:安裝USB音效卡

UP board的音訊輸出,除了HDMI與I2S,應該就剩下加裝USB音效卡。PS:但我不是100%確定。

嗯,怎麼辦呢,雖然我有HDMI螢幕,但沒有兩端都是HDMI的線材;還是要用能把HDMI轉成RGB D-sub與3.5mm耳機孔的轉接器呢?至於I2S,目前似乎尚未支援

想起以前為Raspberry Pi買了一張USB音效卡,用了一陣子,後來就積灰塵,現在終於可以重見天日。

我買的是這款,接下來要介紹設定程序,基本上,各產品用的晶片皆不同,所以底下內文只適用於這款產品。參考文件在此

根據文件,首先判斷晶片為何,
$ dmesg | grep cm109
$ dmesg | grep Headphone
[    3.325467] usb 1-7.1: Product: C-Media USB Headphone Set
[    3.327013] input: C-Media USB Headphone Set   as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7.1/1-7.1:1.3/0003:0D8C:000C.0004/input/input3
[    3.380759] hid-generic 0003:0D8C:000C.0004: input,hidraw3: USB HID v1.00 Device [C-Media USB Headphone Set  ] on usb-0000:00:14.0-7.1/input3

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 006: ID 0424:2530 Standard Microsystems Corp.
Bus 001 Device 005: ID 0d8c:000c C-Media Electronics, Inc. Audio Adapter
Bus 001 Device 004: ID 0424:4603 Standard Microsystems Corp.
Bus 001 Device 003: ID 093a:2521 Pixart Imaging, Inc.
Bus 001 Device 002: ID 046d:c31d Logitech, Inc. Media Keyboard K200
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

代表我拿到的是CM-Headphone Type。然後作設定。

新增檔案/etc/asound.conf,內容如下,
pcm.!default  {
 type hw card 0
}
ctl.!default {
 type hw card 0
}

原始文件說是1,但我改成0才正確,因為,
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Set [C-Media USB Headphone Set], device 0: USB Audio [USB Audio]
  Subdevices: 0/1  Subdevice #0: subdevice #0
card 1: IntelHDMI [IntelHDMI], device 0: IntelHDMI [IntelHDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

然後修改或新增檔案/etc/modprobe.d/alsa-base.conf,修改成或加入底下這行:
options snd-usb-audio index=0

完成,播放mp3音檔與mp4影片檔,都有聲音,但是玩遊戲卻沒有,例如FreeCiv,嗯,為什麼呢?

2016/09/09

UP board:把USB 3.0 Micro埠改為序列埠

UP board在HDMI插槽旁邊,有個USB 3.0 Micro埠,根據此處文件,可以改為序列埠。

PS:另外還有兩個地方提供序列埠

準備一條USB線, 一頭A公,插電腦,一頭Micro公,插UP board。我這條是2.0的線。

USB 3.0的Micro端子,其實如圖所示,但我只有2.0的線,所以只插入其中一部分而已,但仍相容可用。
開機時按著F7,選Enter Setup進入BIOS設定畫面,修改處有兩個。
第一個,Chipset > South Bridge > Default DRD Config,改成DeviceMode。
第二個,Chipset > South Bridge > USB OTG Support改成PCI mode。
然後重開機,開啟終端機,輸入底下指令,載入驅動模組並啟動該序列埠:
$ sudo modprobe g_serial
$ sudo systemctl start getty@ttyGS0

然後把USB線另一頭插入電腦,我插入的是Win 10,開啟裝置管理員,看到多出一個COM埠,記住是COM4。你的編號不一定與我的相同。
開啟可連接序列埠的終端機模擬軟體,譬如PuTTY,輸入適當的設定。
連線,耶,成功囉,看到登入提示,輸入帳號密碼。
進去囉,試著執行指令「w」,共有三個人登入,分別是從主控台、SSH、以及本篇的序列埠。
但是這個序列埠位於USB之上,所以必須等作業系統準備好後,才能提供,沒辦法輸出開機時的早期訊息,一旦重開機就會斷線。

2016/09/08

UP board:設定USB無線網卡

安裝好Linux系統(Ubilinux),之前都是插RJ-45網路線,現在讓我們來嘗試使用USB無線網卡吧。

我的網卡是這個:Edimax EW-7811Un 150Mbps Wireless 隱形USB無線網卡,其晶片是RTL8188CUS。

插入後,Linux應可自動辨識,並且自動載入驅動程式。
$ lsusb
Bus 001 Device 005: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS] 

但是下達指令ifconfig的話,並未出現網路介面wlan0,需要自己設定網路組態。

安裝相關設定套件:
$ sudo apt-get install wpasupplicant wireless-tools 

修改檔案/etc/network/interfaces,新增部分以紅色標示。
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp


然後,新增∕修改/etc/wpa_supplicant/wpa_supplicant.conf,內容如下,請根據你自己的網路組態做修改:
ctrl_interface=/run/wpa_supplicant
update_config=1

network={
        ssid="你的無線網路名稱"
        psk="密碼"
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP
        auth_alg=OPEN
}


然後下指令,關閉∕啟動無線網路介面,或者重新開機:
$ sudo ifdown wlan0
$ sudo ifup wlan0 



接著,應該就沒問題了。
$ sudo ifconfig
wlan0     Link encap:Ethernet  HWaddr 80:1f:02:e2:93:2f
          inet addr:192.168.1.41  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::821f:2ff:fee2:932f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:621 errors:0 dropped:0 overruns:0 frame:0
          TX packets:409 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:71162 (69.4 KiB)  TX bytes:73832 (72.1 KiB)


耶!