BBBでvolumioを試し、一応音を鳴らす事ができたので記録に残すこととする。
使用したのはAKI.DAC-U2704と自作PCM5122 I2S I/F DACの二種類。
PCM5122 I2S I/F DACに関しては以下を参照。
■202 BeagleBone BlackでPCM5122 DACを鳴らす(その1)
volumioとは以下のサイトで開発配布されているdebianベースの音楽再生環境でBBB向け環境も用意されている。
https://volumio.org/
BBB用の現時点での最新版は1.5で私は以下から”Volumio1.5BBB.img.zip”を母艦(ゲストOS)にダウンロードした。
https://volumio.org/get-started
zipファイルをunzipすると起動用1SDカードイメージバイナリ”Volumio1.5BBB.img”が取得できるのでそれを適当なSDカードに焼き込む。
以下は母艦(ゲストOS)で/dev/sdbとして認識されている前提。
temp-host@temp-host:~$ sudo dd if=Volumio1.5BBB.img of=/dev/sdb
すごく時間がかかる。
完了後、syncを行いmicro SDカードを取り外す。
temp-host@temp-host:~/download$ sudo sync temp-host@temp-host:~/download$ sudo sync temp-host@temp-host:~/download$ sudo sync temp-host@temp-host:~/download$ sudo reboot
micro SDカードをBBBに挿入し、シリアル接続とETHERNET接続を行い電源投入を行う。
ここで注意点として初回接続する場合、ETHERNET接続は必須であり、シリアル接続はあった方が良い。
ここの記載ではLAN上のPC/スマホのWEBブラウザから http://volumio.local にアクセスすると WEB UI画面を開く事ができる事になっているが、自分の環境では名前解決できず接続できなかった。
シリアルコンソールのログ上にeth0にETHERNET経由DHCP割り振られたIPアドレスが残るので、LAN上の母艦から http://192.168.1.28 にアクセスすると 無事WEB UI画面を開く事ができた。
以下USB TTLシリアルでの起動ログ。
少し長いが引用する。
設定は115200bps 8bit; non parity; stop bit 1; フロー制御なし。
U-Boot SPL 2014.04-00015-gb4422bd (Apr 22 2014 - 13:24:29) reading args spl_load_image_fat_os: error reading image args, err - -1 reading u-boot.img reading u-boot.img U-Boot 2014.04-00015-gb4422bd (Apr 22 2014 - 13:24:29) I2C: ready DRAM: 512 MiB NAND: 0 MiB MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 *** Warning - readenv() failed, using default environment Net: not set. Validating first E-fuse MAC cpsw, usb_ether Hit any key to stop autoboot: 0 gpio: pin 53 (gpio 53) value is 1 mmc0 is current device gpio: pin 54 (gpio 54) value is 1 SD/MMC found on device 0 reading uEnv.txt 808 bytes read in 5 ms (157.2 KiB/s) gpio: pin 55 (gpio 55) value is 1 Loaded environment from uEnv.txt Importing environment from mmc ... Checking if uenvcmd is set ... gpio: pin 56 (gpio 56) value is 1 Running uenvcmd ... mmc1(part 0) is current device mmc0 is current device 3245640 bytes read in 197 ms (15.7 MiB/s) Booting from external microSD... 23801 bytes read in 33 ms (704.1 KiB/s) Kernel image @ 0x82000000 [ 0x000000 - 0x318648 ] ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Using Device Tree in place at 88000000, end 88008cf8 Starting kernel ... Uncompressing Linux... done, booting the kernel. [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Linux version 3.8.13-bone20 (root@imx6q-sabrelite-1gb) (gcc version 4.6.3 (Debian 4.6.3-14) ) #1 SMP Wed May 29 03:11:01 UTC 2013 [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] Machine: Generic AM33XX (Flattened Device Tree), model: TI AM335x BeagleBone [ 0.000000] Memory policy: ECC disabled, Data cache writeback [ 0.000000] AM335X ES1.0 (neon ) [ 0.000000] PERCPU: Embedded 9 pages/cpu @c0e00000 s14080 r8192 d14592 u36864 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 129792 [ 0.000000] Kernel command line: console=ttyO0,115200n8 fixrtc root=/dev/mmcblk0p2 ro fixrtc rootfstype=ext4 rootwait [ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes) [ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) [ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) [ 0.000000] __ex_table already sorted, skipping sort [ 0.000000] allocated 1048576 bytes of page_cgroup [ 0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups [ 0.000000] Memory: 511MB = 511MB total [ 0.000000] Memory: 507444k/507444k available, 16844k reserved, 0K highmem [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) [ 0.000000] vmalloc : 0xe0800000 - 0xff000000 ( 488 MB) [ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB) [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB) [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB) [ 0.000000] .text : 0xc0008000 - 0xc08b01a8 (8865 kB) [ 0.000000] .init : 0xc08b1000 - 0xc08f9700 ( 290 kB) [ 0.000000] .data : 0xc08fa000 - 0xc097a770 ( 514 kB) [ 0.000000] .bss : 0xc097a770 - 0xc09f07fc ( 473 kB) [ 0.000000] Hierarchical RCU implementation. [ 0.000000] RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1. [ 0.000000] NR_IRQS:16 nr_irqs:16 16 [ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts [ 0.000000] Total of 128 interrupts on 1 active controller [ 0.000000] OMAP clockevent source: GPTIMER1 at 24000000 Hz [ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms [ 0.000000] OMAP clocksource: GPTIMER2 at 24000000 Hz [ 0.000000] Console: colour dummy device 80x30 [ 0.000262] Calibrating delay loop... 663.07 BogoMIPS (lpj=647168) [ 0.035034] pid_max: default: 32768 minimum: 301 [ 0.035188] Security Framework initialized [ 0.035253] Mount-cache hash table entries: 512 [ 0.040766] Initializing cgroup subsys cpuacct [ 0.040793] Initializing cgroup subsys memory [ 0.040836] Initializing cgroup subsys blkio [ 0.040978] CPU: Testing write buffer coherency: ok [ 0.041403] CPU0: thread -1, cpu 0, socket -1, mpidr 0 [ 0.041461] Setting up static identity map for 0x80605b00 - 0x80605b58 [ 0.042477] Brought up 1 CPUs [ 0.042493] SMP: Total of 1 processors activated (663.07 BogoMIPS). [ 0.043417] devtmpfs: initialized [ 0.052025] omap_hwmod: wd_timer2: _wait_target_disable failed [ 0.103855] pinctrl core: initialized pinctrl subsystem [ 0.104008] rstctl core: initialized rstctl subsystem [ 0.104343] regulator-dummy: no parameters [ 0.104693] NET: Registered protocol family 16 [ 0.105268] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.110962] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568 [ 0.111472] platform 49000000.edma: alias fck already exists [ 0.111492] platform 49000000.edma: alias fck already exists [ 0.111505] platform 49000000.edma: alias fck already exists [ 0.112300] OMAP GPIO hardware version 0.1 [ 0.115095] gpio-rctrl rstctl.3: loaded OK [ 0.118306] hw-breakpoint: debug architecture 0x4 unsupported. [ 0.119661] cpsw.0: No hwaddr in dt. Using 1c:ba:8c:96:0a:7e from efuse [ 0.119683] cpsw.1: No hwaddr in dt. Using 1c:ba:8c:96:0d:00 from efuse [ 0.127533] bio: create slab at 0 [ 0.134225] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver [ 0.134532] vmmcsd_fixed: 3300 mV [ 0.136212] SCSI subsystem initialized [ 0.136467] usbcore: registered new interface driver usbfs [ 0.136539] usbcore: registered new interface driver hub [ 0.136827] usbcore: registered new device driver usb [ 0.138149] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz [ 0.139268] input: tps65217_pwr_but as /devices/ocp.2/44e0b000.i2c/i2c-0/0-0024/input/input0 [ 0.140974] DCDC1: at 1500 mV [ 0.141868] vdd_mpu: 925 <--> 1325 mV at 1325 mV [ 0.142753] vdd_core: 925 <--> 1150 mV at 1125 mV [ 0.143593] LDO1: at 1800 mV [ 0.144458] LDO2: at 3300 mV [ 0.145979] LDO3: 1800 mV [ 0.146837] LDO4: at 3300 mV [ 0.147586] tps65217 0-0024: TPS65217 ID 0xe version 1.2 [ 0.148119] omap_i2c 44e0b000.i2c: unable to select pin group [ 0.148742] omap_i2c 4819c000.i2c: bus 1 rev0.11 at 100 kHz [ 0.150332] omap_i2c 4819c000.i2c: unable to select pin group [ 0.150492] media: Linux media interface: v0.10 [ 0.150566] Linux video capture interface: v2.00 [ 0.150975] Advanced Linux Sound Architecture Driver Initialized. [ 0.151601] NetLabel: Initializing [ 0.151613] NetLabel: domain hash size = 128 [ 0.151619] NetLabel: protocols = UNLABELED CIPSOv4 [ 0.151690] NetLabel: unlabeled traffic allowed by default [ 0.151913] Switching to clocksource gp_timer [ 0.184755] NET: Registered protocol family 2 [ 0.185550] TCP established hash table entries: 4096 (order: 3, 32768 bytes) [ 0.185632] TCP bind hash table entries: 4096 (order: 4, 81920 bytes) [ 0.185713] TCP: Hash tables configured (established 4096 bind 4096) [ 0.185782] TCP: reno registered [ 0.185798] UDP hash table entries: 256 (order: 1, 12288 bytes) [ 0.185822] UDP-Lite hash table entries: 256 (order: 1, 12288 bytes) [ 0.186090] NET: Registered protocol family 1 [ 0.186544] RPC: Registered named UNIX socket transport module. [ 0.186557] RPC: Registered udp transport module. [ 0.186564] RPC: Registered tcp transport module. [ 0.186571] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.187420] CPU PMU: probing PMU on CPU 0 [ 0.187441] hw perfevents: enabled with ARMv7 Cortex-A8 PMU driver, 5 counters available [ 0.187788] omap2_mbox_probe: platform not supported [ 0.335372] VFS: Disk quotas dquot_6.5.2 [ 0.335527] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) [ 0.336441] NFS: Registering the id_resolver key type [ 0.336522] Key type id_resolver registered [ 0.336532] Key type id_legacy registered [ 0.336575] fuse init (API version 7.20) [ 0.337150] Btrfs loaded [ 0.337255] msgmni has been set to 991 [ 0.339112] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250) [ 0.339132] io scheduler noop registered [ 0.339141] io scheduler deadline registered [ 0.339171] io scheduler cfq registered (default) [ 0.340239] tps65217-bl tps65217-bl: no platform data provided [ 0.340268] tps65217-bl: probe of tps65217-bl failed with error -22 [ 0.340809] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled [ 0.342276] omap_uart 44e09000.serial: did not get pins for uart0 error: -19 [ 0.342601] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88) is a OMAP UART0 [ 1.059956] console [ttyO0] enabled [ 1.064296] [drm] Initialized drm 1.1.0 20060810 [ 1.077034] brd: module loaded [ 1.084351] loop: module loaded [ 1.087872] at24 0-0050: 32768 byte 24c256 EEPROM, writable, 1 bytes/write [ 1.095175] at24 1-0054: 32768 byte 24c256 EEPROM, writable, 1 bytes/write [ 1.102463] at24 1-0055: 32768 byte 24c256 EEPROM, writable, 1 bytes/write [ 1.109724] at24 1-0056: 32768 byte 24c256 EEPROM, writable, 1 bytes/write [ 1.116975] at24 1-0057: 32768 byte 24c256 EEPROM, writable, 1 bytes/write [ 1.130776] bone-capemgr bone_capemgr.9: Baseboard: 'A335BNLT,000C,1914BBBK1242' [ 1.138568] bone-capemgr bone_capemgr.9: compatible-baseboard=ti,beaglebone-black [ 1.177391] bone-capemgr bone_capemgr.9: slot #0: No cape found [ 1.214498] bone-capemgr bone_capemgr.9: slot #1: No cape found [ 1.251607] bone-capemgr bone_capemgr.9: slot #2: No cape found [ 1.288718] bone-capemgr bone_capemgr.9: slot #3: No cape found [ 1.294961] bone-capemgr bone_capemgr.9: slot #4: specific override [ 1.301559] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 4 [ 1.309603] bone-capemgr bone_capemgr.9: slot #4: 'Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G' [ 1.319715] bone-capemgr bone_capemgr.9: slot #5: specific override [ 1.326308] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 5 [ 1.334350] bone-capemgr bone_capemgr.9: slot #5: 'Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI' [ 1.344633] bone-capemgr bone_capemgr.9: loader: before slot-4 BB-BONE-EMMC-2G:00A0 (prio 1) [ 1.353517] bone-capemgr bone_capemgr.9: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1) [ 1.362310] bone-capemgr bone_capemgr.9: initialized OK. [ 1.367906] bone-capemgr bone_capemgr.9: loader: before slot-5 BB-BONELT-HDMI:00A0 (prio 1) [ 1.376675] bone-capemgr bone_capemgr.9: loader: check slot-5 BB-BONELT-HDMI:00A0 (prio 1) [ 1.386574] OneNAND driver initializing [ 1.391407] usbcore: registered new interface driver cdc_ether [ 1.397621] usbcore: registered new interface driver rndis_host [ 1.403911] bone-capemgr bone_capemgr.9: loader: after slot-4 BB-BONE-EMMC-2G:00A0 (prio 1) [ 1.412697] bone-capemgr bone_capemgr.9: loader: after slot-5 BB-BONELT-HDMI:00A0 (prio 1) [ 1.421456] usbcore: registered new interface driver cdc_ncm [ 1.427427] bone-capemgr bone_capemgr.9: slot #4: Requesting firmware 'cape-bone-2g-emmc1.dtbo' for board-name 'Bone-LT-eMMC-2G', version '00A0' [ 1.441501] Initializing USB Mass Storage driver... [ 1.446738] usbcore: registered new interface driver usb-storage [ 1.453054] USB Mass Storage support registered. [ 1.457932] bone-capemgr bone_capemgr.9: slot #4: dtbo 'cape-bone-2g-emmc1.dtbo' loaded; converting to live tree [ 1.468653] bone-capemgr bone_capemgr.9: slot #5: Requesting firmware 'cape-boneblack-hdmi-00A0.dtbo' for board-name 'Bone-Black-HDMI', version '00A0' [ 1.482899] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host) [ 1.489404] bone-capemgr bone_capemgr.9: slot #4: #2 overlays [ 1.495770] musb-hdrc musb-hdrc.0.auto: pdev->id = 0 [ 1.500999] musb-hdrc musb-hdrc.0.auto: drivers/usb/musb/musb_dsps.c:468 dsps_musb_init: OK [ 1.509789] bone-capemgr bone_capemgr.9: slot #5: dtbo 'cape-boneblack-hdmi-00A0.dtbo' loaded; converting to live tree [ 1.521254] bone-capemgr bone_capemgr.9: slot #4: Applied #2 overlays. [ 1.528125] bone-capemgr bone_capemgr.9: loader: done slot-4 BB-BONE-EMMC-2G:00A0 (prio 1) [ 1.536959] musb-hdrc musb-hdrc.0.auto: *** mode=3 [ 1.542008] musb-hdrc musb-hdrc.0.auto: *** power=250 [ 1.547844] bone-capemgr bone_capemgr.9: slot #5: #4 overlays [ 1.555344] platform 4830e000.fb: alias fck already exists [ 1.561737] musb-hdrc musb-hdrc.1.auto: pdev->id = 1 [ 1.567027] musb-hdrc musb-hdrc.1.auto: drivers/usb/musb/musb_dsps.c:468 dsps_musb_init: OK [ 1.576865] bone-capemgr bone_capemgr.9: slot #5: Applied #4 overlays. [ 1.583797] bone-capemgr bone_capemgr.9: loader: done slot-5 BB-BONELT-HDMI:00A0 (prio 1) [ 1.592643] musb-hdrc musb-hdrc.1.auto: *** mode=1 [ 1.597721] musb-hdrc musb-hdrc.1.auto: *** power=250 [ 1.603037] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver [ 1.609382] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1 [ 1.617794] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 [ 1.624937] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 1.632523] usb usb1: Product: MUSB HDRC host driver [ 1.637741] usb usb1: Manufacturer: Linux 3.8.13-bone20 musb-hcd [ 1.644054] usb usb1: SerialNumber: musb-hdrc.1.auto [ 1.649958] hub 1-0:1.0: USB hub found [ 1.654007] hub 1-0:1.0: 1 port detected [ 1.659063] mousedev: PS/2 mouse device common for all mice [ 1.666624] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0 [ 1.674325] i2c /dev entries driver [ 1.678789] Driver for 1-wire Dallas network protocol. [ 1.685241] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec [ 1.692687] cpuidle: using governor ladder [ 1.697011] cpuidle: using governor menu [ 1.701414] omap_hsmmc mmc.4: of_parse_phandle_with_args of 'reset' failed [ 1.708645] omap_hsmmc mmc.4: Failed to get rstctl; not using any [ 1.715082] omap_hsmmc mmc.4: unable to select pin group [ 1.720879] edma-dma-engine edma-dma-engine.0: allocated channel for 0:25 [ 1.728070] edma-dma-engine edma-dma-engine.0: allocated channel for 0:24 [ 1.735367] mmc.4 supply vmmc_aux not found, using dummy regulator [ 1.741976] omap_hsmmc mmc.4: pins are not configured from the driver [ 1.775227] gpio-rctrl rstctl.3: gpio_rctrl_request eMMC_RSTn [ 1.781413] omap_hsmmc mmc.5: Got rstctl (gpio:#0 name eMMC_RSTn) label:eMMC_RSTn [ 1.789322] gpio-rctrl rstctl.3: gpio_rctrl_deassert eMMC_RSTn [ 1.795716] edma-dma-engine edma-dma-engine.0: allocated channel for 0:3 [ 1.802848] edma-dma-engine edma-dma-engine.0: allocated channel for 0:2 [ 1.810280] mmc.5 supply vmmc_aux not found, using dummy regulator [ 1.816883] omap_hsmmc mmc.5: pins are not configured from the driver [ 1.851649] pinctrl-single 44e10800.pinmux: pin 44e10854 already requested by 44e10800.pinmux; cannot claim for gpio-leds.8 [ 1.863360] pinctrl-single 44e10800.pinmux: pin-21 (gpio-leds.8) status -22 [ 1.870673] pinctrl-single 44e10800.pinmux: could not request pin 21 on device pinctrl-single [ 1.879671] leds-gpio gpio-leds.8: pins are not configured from the driver [ 1.887605] ledtrig-cpu: registered to indicate activity on CPUs [ 1.894275] edma-dma-engine edma-dma-engine.0: allocated channel for 0:36 [ 1.901515] omap-sham 53100000.sham: hw accel on OMAP rev 4.3 [ 1.909089] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2 [ 1.915369] edma-dma-engine edma-dma-engine.0: allocated channel for 0:5 [ 1.922530] edma-dma-engine edma-dma-engine.0: allocated channel for 0:6 [ 1.930417] usbcore: registered new interface driver usbhid [ 1.936376] usbhid: USB HID core driver [ 1.943563] davinci_evm sound.13: nxp-hdmi-hifi <-> 48038000.mcasp mapping ok [ 1.953540] TCP: cubic registered [ 1.957143] mmc0: host does not support reading read-only switch. assuming write-enable. [ 1.965729] NET: Registered protocol family 10 [ 1.971210] NET: Registered protocol family 17 [ 1.976281] Key type dns_resolver registered [ 1.981008] VFP support v0.3: [ 1.984102] mmc0: new high speed SDHC card at address aaaa implementor 41 architecture 3 part 30 variant c rev 3 [ 1.994949] ThumbEE CPU extension supported. [ 1.999531] Registering SWP/SWPB emulation handler [ 2.005466] mmcblk0: mmc0:aaaa SU04G 3.69 GiB [ 2.010825] registered taskstats version 1 [ 2.017598] tilcdc 4830e000.fb: No power control GPIO [ 2.023166] mmcblk0: p1 p2 [ 2.050487] usb 1-1: new high-speed USB device number 2 using musb-hdrc [ 2.083588] mmc1: BKOPS_EN bit is not set [ 2.091676] mmc1: new high speed MMC card at address 0001 [ 2.097906] mmcblk1: mmc1:0001 MMC04G 3.60 GiB [ 2.102931] mmcblk1boot0: mmc1:0001 MMC04G partition 1 2.00 MiB [ 2.109385] mmcblk1boot1: mmc1:0001 MMC04G partition 2 2.00 MiB [ 2.116771] mmcblk1: p1 p2 [ 2.121610] mmcblk1boot1: unknown partition table [ 2.128057] mmcblk1boot0: unknown partition table [ 2.135716] tilcdc 4830e000.fb: found TDA19988 [ 2.140994] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010). [ 2.147954] [drm] No driver support for vblank timestamp query. [ 2.154481] tilcdc 4830e000.fb: No connectors reported connected with modes [ 2.161809] [drm] Cannot find any crtc or sizes - going 1024x768 [ 2.176303] Console: switching to colour frame buffer device 128x48 [ 2.187931] tilcdc 4830e000.fb: fb0: frame buffer device [ 2.193611] tilcdc 4830e000.fb: registered panic notifier [ 2.199376] [drm] Initialized tilcdc 1.0.0 20121205 on minor 0 [ 2.233357] usb 1-1: New USB device found, idVendor=0411, idProduct=01a2 [ 2.240446] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2.247941] usb 1-1: Product: 802.11 n WLAN [ 2.252338] usb 1-1: Manufacturer: Ralink [ 2.256559] usb 1-1: SerialNumber: 1.0 [ 2.260574] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6 [ 2.266984] davinci_mdio 4a101000.mdio: detected phy mask fffffffe [ 2.274927] libphy: 4a101000.mdio: probed [ 2.279253] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720 [ 2.289718] Detected MACID = 1c:ba:8c:96:0a:7e [ 2.294369] cpsw 4a100000.ethernet: NAPI disabled [ 2.300838] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01 00:00:01 UTC (946684801) [ 2.310710] ALSA device list: [ 2.313875] #0: TI BeagleBone Black [ 2.349228] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null) [ 2.357862] VFS: Mounted root (ext4 filesystem) readonly on device 179:2. [ 2.369201] devtmpfs: mounted [ 2.372780] Freeing init memory: 288K INIT: version 2.88 booting [info] Using makefile-style concurrent boot in runlevel S. [....] Starting the hotplug events dispatcher: udevd[ 3.990896] udevd[194]: starting version 175 . ok [ ok ] Synthesizing the initial hotplug events...done. [....] Waiting for /dev to be fully populated...[ 5.278265] cfg80211: Calling CRDA to update world regulatory domain [ 5.921718] usb 1-1: reset high-speed USB device number 2 using musb-hdrc [ 6.109919] usbcore: registered new interface driver rt2800usb done. [ ok ] Setting preliminary keymap...done. [ ok ] Activating swap...done. [ 7.565059] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null) [ ok ] Cleaning up temporary files.... [ ok ] Activating lvm and md swap...done. [....] Checking file systems...fsck from util-linux 2.20.1 done. [ ok ] Mounting local filesystems...done. [ ok ] Activating swapfile swap...done. [ ok ] Cleaning up temporary files.... [ ok ] Setting kernel variables ...done. [....] Configuring network interfaces...Internet Systems Consortium DHCP Client 4.2.2 Copyright 2004-2011 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ [ 12.994406] net eth0: initializing cpsw version 1.12 (0) [ 13.002199] net eth0: phy found : id is : 0x7c0f1 [ 13.007218] libphy: PHY 4a101000.mdio:01 not found [ 13.012270] net eth0: phy 4a101000.mdio:01 not found on slave 1 [ 13.024388] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready Listening on LPF/eth0/1c:ba:8c:96:0a:7e Sending on LPF/eth0/1c:ba:8c:96:0a:7e Sending on Socket/fallback DHCPREQUEST on eth0 to 255.255.255.255 port 67 [ 16.080292] libphy: 4a101000.mdio:00 - Link is Up - 100/Full [ 16.086321] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready DHCPREQUEST on eth0 to 255.255.255.255 port 67 DHCPNAK from 192.168.1.1 DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5 DHCPREQUEST on eth0 to 255.255.255.255 port 67 DHCPOFFER from 192.168.1.1 DHCPACK from 192.168.1.1 bound to 192.168.1.28 -- renewal in 71585 seconds. done. [ ok ] Starting rpcbind daemon.... [....] Starting NFS common utilities: statd[ 28.052140] Installing knfsd (copyright (C) 1996 okir@monad.swb.de). [ ok pd. [ ok ] Cleaning up temporary files.... [....] Setting up ALSA...warning: 'alsactl -E HOME=/var/run/alsa restore' failed with error message 'No state is present for card Black Found hardware: "TI_BeagleBone_B" "" "" "" "" Hardware is initialized using a generic method [ ok ate is present for card Black'...done. [info] Setting console screen modes. setterm: cannot (un)set powersave mode: Inappropriate ioctl for device [info] Skipping font and keymap setup (handled by console-setup). [ ok ] Setting up console font and keymap...done. [ ok ] Setting up X socket directories... /tmp/.X11-unix /tmp/.ICE-unix. INIT: Entering runlevel: 2 [info] Using makefile-style concurrent boot in runlevel 2. [ ok ] Starting system message bus: dbus. [....] Starting Music Player Daemon: mpd[....] Starting Avahi mDNS/DNS-SD Daemon[ ok hi-daemon. [ ok ] Starting NFS common utilities: statd idmapd. Starting nginx: nginx. [ ok ] Starting NTP server: ntpd. WARNING: Ignoring invalid value 'share' for parameter 'security' . ok [ ok ] Starting rpcbind daemon...[....] Already running.. transientlog: Permission denied [ ok ] Starting OpenBSD Secure Shell server: sshd. [....] Starting daemon monitor: monitcat: /run/player_wrk.pid: No such file or directory . ok [FAIL] startpar: service(s) returned failure: transientlog ... failed!
見ての通り、いくつかのfailやwarningが出ている。
この例では192.168.1.28のIPv4アドレスがDHCPにより割り当てられた事が判る。
シリアルコンソールで接続しないならば、ルータ側から割り当てIPを調べるか、もしくはBBBのeth0のMACアドレスに固定のIPアドレスを割り振る等の工夫をするべきだろう。
特記事項としてはシリアル経由でログインできない事。
代わりに割り当てIPアドレスで以下のuser/passwdでsshログインすることができる。
user:root passwd:volumio Linux volumio 3.8.13-bone20 #1 SMP Wed May 29 03:11:01 UTC 2013 armv7l ___ /\_ \ __ __ __ ___\//\ \ __ __ ___ ___ /\_\ ___ /\ \/\ \ / __`\\ \ \ /\ \/\ \ /' __` __`\/\ \ / __`\ \ \ \_/ |/\ \L\ \\_\ \_\ \ \_\ \/\ \/\ \/\ \ \ \/\ \L\ \ \ \___/ \ \____//\____\\ \____/\ \_\ \_\ \_\ \_\ \____/ \/__/ \/___/ \/____/ \/___/ \/_/\/_/\/_/\/_/\/___/ Free Audiophile Linux Music Player - Version 1.5 C 2013 Michelangelo Guarise - Volumio.org Volumio Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Sat Jan 1 00:03:37 2000 from 192.168.1.20 root@volumio:~#
WEB UIの起動画面は以下のようになる。
右上にあるMENUの文字をクリックすると”Main”, “Library”, “Playback”, “Network”, “System”, “Credits”, “Turn off”の項目を選択できる。
判り難い事に、DACを認識していない状態ではI2Sの設定がどこにも出てこない。
volumioのサイトではBBB用Ver1.5でI2Sサポートとなっているが、実際にはサポートされていないのかなと思い、AKI.DAC-U2704を試すため、 一旦turn offからPower offを選び電源断を行い、AKI.DAC-U2704をBBBに接続し、色々設定を弄っていたらSystemメニュー(Setting)の中にI2S driverが 出てくるようになった。
その後はAKI.DAC-U2704を外してもI2S driverの項目は消えないようだ。
どのようにしたらI2S driverの設定が現れたのか良く判っていない。
AKI.DAC-U2704の方の設定は、MENUから”Playback”を選択し、”Audio Output”の選択肢が”Black”となっているのを”DAC”に変更する。
Reboot後に有効となる。
DACが有効となっていれば、起動完了時にチャイムが鳴ることが判る。
volumioはウエブラジオが聴けるので曲を用意しなくてもDACの確認は可能。
下の帯の左側にある”Brows”をクリックしすると”WEBRADIO”が出てくるので選択し、適当に局を選択し局名の右側にある三本の太い線の マークをクリックすると”Add”, “Add and play”, “Add, replace and play”, “Update this folder”の選択肢が出てくるので “Add and play”をクリックすると聴くことができる。
ただし、その前にMain画面で右側にある円を回すことにより音量を75以下に下げておいた方が良い。
音量が大きいので耳を傷めるからだ。
次に自作PCM5122 I2S I/F DACを試す。
I2S DACの場合はMENUの”Playback”の”Audio Output”の選択肢を”Black”に戻す。
そしてMENUの”System”の”I2S driver”のなかから適当にdriverを選択する。
自分はRPi-DACのみ試していて他は試していない。
“APPLY”をクリックし設定を完了させ、MENUの”Turn off”から”Power off”を選択し電源を落とす。
どうも”Power off”としても再起動してしまう事が多い。
BBBとDACとの接続は以下の通り。
I2S_LRCK:P9_29 I2S_DIN:P9_28 I2S_BCK:P9_31 I2S_SCK:P9_25 I2C_SCK:P9_18 I2C_SDA:P9_17 SYS_5V(CP):P9_7 SYS_5V(A):P9_8 VDD3.3(D):P9_3 GND(CP):P9_1 GND(A):P9_45 GND(D):P9_2
前に書いた記録に対し、I2S_DINの結線が変更になっている事に注意。
また、I2C_SCKとI2C_SDAは使用しないのでDVDDにプルアップした方が良いかもしれないがとりあえず放置する。
起動完了時にチャイムが鳴る。
AKI.DAC-U2704の時とは違い、音量はそれほど大きくはないが、それでも耳障りなほど音が大きいうえに激しい プチプチノイズが乗っている。
プチプチノイズは音量を75程度まで下げると発生しなくなるので、音量がデジタル的に飽和しているのかもしれない。
だが、デジタル的に音が飽和したからといってプチプチノイズになるかは疑問だ。
44.1KHz音源の48KHzへのリサンプリングにCPUパワーを取られすぎて処理落ちしている可能性もある。
topコマンドで調べるとmpdが常時50数%使っているようだ。
プチプチノイズの理由は調べておらず、ひょっとして自分の環境だけかもしれない。
AKI.DAC-U2704の方にプチプチノイズが乗っていたかは憶えていない。
ちなみにAKI.DAC-U2704も自作PCM5122 I2S I/F DACもDACからの出力を直接ヘッドホンで聴いている構成でヘッドホンアンプは使用していない。
まあ、何れにしても音量を75まで下げると問題は発生しなくなるのでこんなもんだと納得することにする。
WiFiの設定は通常ならばMENUの”Network”の”Wireless Connection”で行えるらしい。
しかし自分の環境ではルータの設定のため、以下以下で記載したように追加設定が 必要であるので手動で設定した。
一応設定ファイルは以下のような感じとしている。
root@volumio:~# nano /etc/network/interfaces root@volumio:~# cat /etc/network/interfaces auto lo iface lo inet loopback auto wlan0 iface wlan0 inet dhcp wpa-ap-scan 1 wpa-scan-ssid 1 wpa-bssid 10:6F:3F:4B:20:55 wpa-key-mgmt WPA-PSK wpa-proto RSN wpa-pariwise COMP TKIP wpa-group CCMP TKIP wpa-ssid MY-AP-001 wpa-psk hogehoge auto eth0 iface eth0 inet dhcp root@volumio:~#
これでWiFi接続でvolumioにアクセスできるようになった。
AndroidスマホからでもLAN内からIPアドレス直打ちでアクセスできるので凄く便利だ。
volumioはとても便利で面白い。
また、WEBRADIOを長時間聞いたが楽しいものであった。
今回の環境はmicro SDの使いまわしの為に消してしまうが、別のもっと高速なmicro SDを買ってきて ちゃんと設定を行っても良いかなと思ている。