Ebben is van Linux? - Logitech Squeezebox Touch

 ( trey | 2011. március 11., péntek - 18:00 )

Itt a sorozat legújabb tagja. A sorozaté, amit az inspirált, hogy alig tudok mostanában olyan műszaki cikket a kezembe venni, amiben ne lenne valamilyen formában Linux. Nemrég volt szó arról, hogy csendes, 7W-ot fogyasztó Linux szervert ütöttem össze olcsó linuxos NAS-ból. Hogy miért? Elsősorban azért, hogy kiszolgálja a Logitech Squeezebox Classic (RIP) lejátszómat. Ugyan a Classic elhalálozott, de helyette csatasorba állt egy Logitech Squeezebox Touch. Amin szintén mi fut? Meglepetés... (real-time) Linux.

A termék alapértelmezetten hozzáférhető SSH-n keresztül. A beállítások közt engedélyezzük az SSH-t, majd be is tudunk jelentkezni:

This network device is for authorized use only. Unauthorized or improper use
of this system may result in you hearing very bad music. If you do not consent
to these terms, LOG OFF IMMEDIATELY.

Ha, only joking. Now you have logged in feel free to change your root password
using the 'passwd' command. You can safely modify any of the files on this
system. A factory reset (press and hold add on power on) will remove all your
modifications and revert to the installed firmware.

Egy kis rendszerinformáció:

uname -a

# uname -a
Linux SqueezeboxTouch #1 PREEMPT RT Mon Nov 22 11:45:50 MST 2010 armv6l GNU/Linux


# free
              total         used         free       shared      buffers
  Mem:       125824        68044        57780            0         8664
 Swap:            0            0            0
Total:       125824        68044        57780


# cat /proc/cpuinfo 
Processor	: ARMv6-compatible processor rev 3 (v6l)
BogoMIPS	: 530.84
Features	: swp half thumb fastmult vfp edsp java 
CPU implementer	: 0x41
CPU architecture: 6TEJ
CPU variant	: 0x1
CPU part	: 0xb36
CPU revision	: 3
Cache type	: write-back
Cache clean	: cp15 c7 ops
Cache lockdown	: format C
Cache format	: Harvard
I size		: 16384
I assoc		: 4
I line length	: 32
I sets		: 128
D size		: 16384
D assoc		: 4
D line length	: 32
D sets		: 128

Hardware	: Logitech Fab4 Board
Revision	: 0005
Serial		: 2211100008000000
UUID		: 7f045b00-d5e2-575c-7c34-7b428f24b340


Linux version (parabuild@vdc01b01centos02) (gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) ) #1 PREEMPT RT Mon Nov 22 11:45:50 MST 2010
CPU: ARMv6-compatible processor [4117b363] revision 3 (ARMv6TEJ), cr=00c5387f
Machine: Logitech Fab4 Board
Memory policy: ECC disabled, Data cache writeback
On node 0 totalpages: 32768
  DMA zone: 48 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 6096 pages, LIFO batch:0
  Normal zone: 208 pages used for memmap
  Normal zone: 26416 pages, LIFO batch:7
  Movable zone: 0 pages used for memmap
CPU0: D VIPT write-back cache
CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
CPU0: D cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
Real-Time Preemption Support (C) 2004-2007 Ingo Molnar
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
Kernel command line: console=ttymxc0,115200 noinitrd init=/linuxrc ubi.mtd=1 root=/dev/mtdblock:cramfs 
Preemptible RCU implementation.
MXC IRQ initialized
PID hash table entries: 512 (order: 9, 2048 bytes)
MXC GPT timer initialized, rate = 16625000
WARNING: Clock divider has been truncated, clock error 150 [ps] per 60 [ns]
Console: colour dummy device 80x30
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 128MB = 128MB total
Memory: 125672KB available (3756K code, 316K data, 152K init)
Calibrating delay loop... 530.84 BogoMIPS (lpj=2654208)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
net_namespace: 276 bytes
NET: Registered protocol family 16
L2X0 cache controller enabled
CPU is i.MX0 Revision 0.5
Clock input source is 24000000
MXC GPIO hardware
Reset status: Watchdog timeout
MXC DMA API initialized
SCSI subsystem initialized
CSPI: mxc_spi-0 probed
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
MXC I2C driver
clk: Unable to get requested clock: dfm_clk
ASoC version 0.20
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 4, 114688 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
NET: Registered protocol family 1
usb: DR host (utmi) registered
krcupreemptd setsched 0
  prio = 98
Registering unionfs 2.5.1 (for
fuse init (API version 7.9)
msgmni has been set to 245
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
mxc_ipu mxc_ipu: Channel already uninitialized 14
Console: switching to colour frame buffer device 60x34
mxc_ipu mxc_ipu: Channel already uninitialized 15
mxcfb: fb registered, using mode <NULL>
fsl_rngc fsl_rngc: FSL RNGC Registered.
Serial: MXC Internal UART driver
mxcintuart.0: ttymxc0 at MMIO 0x43f90000 (irq = 45) is a Freescale MXC
console [ttymxc0] enabled
mxcintuart.1: ttymxc1 at MMIO 0x43f94000 (irq = 32) is a Freescale MXC
loop: module loaded
FEC ENET Version 0.2
fec: PHY @ 0x1, ID 0x00008201 -- RTL8210CP
eth0: ethernet 00:04:20:22:94:37
Driver 'sd' needs updating - please use bus_type methods
MXC MTD nand Driver 2.5
NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB 3,3V 8-bit)
Bad block table found at page 65472, version 0x01
Bad block table found at page 65408, version 0x01
nand_read_bbt: Bad block at 0x006a0000
nand_read_bbt: Bad block at 0x024a0000
RedBoot partition parsing not available
cmdlinepart partition parsing not available
Creating 2 MTD partitions on "NAND 128MiB 3,3V 8-bit":
0x00000000-0x00080000 : "redboot"
0x00080000-0x07f40000 : "ubi"
UBI: attaching mtd1 to ubi0
UBI: physical eraseblock size:   131072 bytes (128 KiB)
UBI: logical eraseblock size:    129024 bytes
UBI: smallest flash I/O unit:    2048
UBI: sub-page size:              512
UBI: VID header offset:          512 (aligned 512)
UBI: data offset:                2048
UBI: attached mtd1 to ubi0
UBI: MTD device name:            "ubi"
UBI: MTD device size:            126 MiB
UBI: number of good PEBs:        1012
UBI: number of bad PEBs:         2
UBI: max. allowed volumes:       128
UBI: wear-leveling threshold:    4096
UBI: number of internal volumes: 1
UBI: number of user volumes:     5
UBI: available PEBs:             228
UBI: total number of reserved PEBs: 784
UBI: number of PEBs reserved for bad PEB handling: 10
UBI: max/mean erase counter: 8/3
UBI: background thread "ubi_bgt0d" started, PID 300
fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci.0: irq 37, io mem 0x53ff4000
fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver usbserial
usbserial: USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
usbserial: USB Serial support registered for FTDI USB Serial Device
usbcore: registered new interface driver ftdi_sio
ftdi_sio: v1.4.3:USB FTDI Serial Converters Driver
usbserial: USB Serial support registered for Keyspan - (without firmware)
usbserial: USB Serial support registered for Keyspan 1 port adapter
usbserial: USB Serial support registered for Keyspan 2 port adapter
usbserial: USB Serial support registered for Keyspan 4 port adapter
usbcore: registered new interface driver keyspan
keyspan: v1.1.5:Keyspan USB to Serial Converter Driver
usbserial: USB Serial support registered for pl2303
usbcore: registered new interface driver pl2303
pl2303: Prolific PL2303 USB to serial adaptor driver
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
Clearpad: TM1199Logitech (7552,4248)
input: Synaptics ClearPad as /class/input/input0
tsl2569 0-0039: support ver. 1.0 enabled
i2c-adapter i2c-0: ACK not received 
lm75: probe of 0-0048 failed with error -1
MXC WatchDog Driver 2.0
MXC Watchdog # 0 Timer: initial timeout 60 sec
IPU Post-filter loading
mxc_asrc registered
input: FAB4 IR as /class/input/input1
firmware: requesting ir_controller_21323.hex
mxsdhci: MXC Secure Digital Host Controller Interface driver
mxsdhci: MXC SDHCI Controller Driver. 
mmc0: SDHCI detect irq 0 irq 7 INTERNAL DMA
mxsdhci: MXC SDHCI Controller Driver. 
mmc1: SDHCI detect irq 102 irq 8 INTERNAL DMA
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
mmc0: new SDIO card at address 0001
Advanced Linux Sound Architecture Driver Version 1.0.16.
MXC spdif support initialized
usbcore: registered new interface driver snd-usb-audio
AK4420 Audio Codec 0.1<6>DMA Sound Buffers Allocated:UseIram=0 buf->addr=87ec0000 buf->area=fe003000 size=65536
asoc: ak4420-dai <-> imx-ssi-1 mapping ok
WM8974 Audio Codec 0.1
DMA Sound Buffers Allocated:UseIram=0 buf->addr=87ed0000 buf->area=fe013000 size=65536
DMA Sound Buffers Allocated:UseIram=0 buf->addr=87ee0000 buf->area=fe023000 size=65536
asoc: wm8974-hifi-dai <-> imx-ssi-3 mapping ok
fab4 WM8974 Audio Driver
ALSA device list:
  #0: MXC Freescale with SPDIF
  #1: fab4 (ak4420)
  #2: fab4 (wm8974)
oprofile: using arm/armv6
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
ieee80211: 802.11 data/management/control stack, git-1.1.13
ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com>
ieee80211_crypt: registered algorithm 'NULL'
mxc_rtc mxc_rtc.0: rtc core: registered mxc_rtc as rtc0
No external RTC clock
Real TIme clock Driver v1.0 
mxc_rtc: probe of mxc_rtc.0 failed with error -2
Static Power Management for Freescale i.MX35
VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 3
MXC Backlight Device mxc_ipu_bl.0 Initialized.
platform mxc_rtc.0: setting system clock to 1970-01-01 21:23:37 UTC (77017)
VFS: Mounted root (cramfs filesystem) readonly.
Freeing init memory: 152K
UBIFS: recovery needed
UBIFS: recovery completed
UBIFS: mounted UBI device 0, volume 2, name "ubifs"
UBIFS: file system size:   19869696 bytes (19404 KiB, 18 MiB, 154 LEBs)
UBIFS: journal size:       1032193 bytes (1008 KiB, 0 MiB, 8 LEBs)
UBIFS: media format:       w4/r0 (latest is w4/r0)
UBIFS: default compressor: lzo
UBIFS: reserved for root:  938494 bytes (916 KiB)
FAB4 IR: fw checksum ok aa33
firmware: requesting helper_sd.bin
firmware: requesting sd8686.bin
tsl2569: set timing: (1,2): 12
Store Gain: 1
Store Factor: 40

Ebben is van Linux. Ebben is Linux van.

Kapcsolódó tartalmak

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Ha el akarom indítani a videót, akkor azt írja, hogy "Ez egy privát videó."
Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba és kész!

Nálam megy rendesen.

Most már nekem is megy.
Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba és kész!

Jópofa az üdvözlő szöveg :-)

Ket eszkoz hasznalhatja -e a hang kartyat egy idoben ?
AlsaMix ?
Pulseaudio ?
Jack ?
esound ?

Amit nem lehet megirni assemblyben, azt nem lehet megirni.

No, már megint a java proci feature :)



A viccess az hogy nem hasznlajak, mert gyorsabb nelkule JIT -et hesznalani.

Amit nem lehet megirni assemblyben, azt nem lehet megirni.

Imádom ezeket a posztokat...

Most már tudjuk, hogy néz ki trey árnyéka :)

Ezt a real-time képességet beletehetnék már végre a kernelbe, így lenne egy újabb operációs rendszer amivel lehet szerszámgépet vezérelni. Az EMC2 programra gondolok. Ha nem kéne foltozgatni a kernelt akkor nem csak így lehetne http://www.linuxcnc.org/lucid/ubuntu-10.04-linuxcnc1-i386.iso használni az EMC2 programcsomagot hanem akármilyen más telepítésen is. Amikor próbáltam kernelt foltozni hogy valósidejű képességei is legyenek akkor nem ment végig a fordítás. (Már nem tudom hogy milyen kernellel próbáltam, mert nem most volt.)

Trey: A Classic hogy/miért halálozott el? Érdekelne, hogy esetleg használtan érdemes -e venni ilyet.

Folyamatosan (7/24) be volt kapcsolva. Ha nem zenét játszott le, akkor ébresztőóraként és RSS olvasóként szolgált. Egyik este folyamatos halk puffogás jött az hangfalakból. Néztem, se kép, se hang. Hogy mi patkolt el benne azt nem tudom, de nem is igen piszkáltam, mert garanciális volt. Mivel a Classic-ot nem gyártják már (nagy kár), Touch lett helyette. A Touch is frankó. Itt-ott többet tud, mint a Classic, de van ahol kevesebbet. A Classic kijelzője az nagyon hiányzik. Szép volt.

Használtan a Classic-ban még Hi-Fi fórumokon nagyon ritkán bele lehet futni, de gyorsan elkapkodják.

trey @ gépház

"Hogy mi patkolt el benne azt nem tudom, de nem is igen piszkáltam, mert garanciális volt."

Akkor meglehetett volna javíttatni ingyen. Egyébként hány év garival vetted?

24 hónap gyártói garancia. Nem javítják, cserélik. Ha van mire. Ha nincs mire, akkor visszaadják az árát / levásárolható.

trey @ gépház

Ja, ez ilyen cseregarancia volt akkor, értem, köszi.

nem, ez sima, normál garancia volt.
f@szért kell mindig okoskodni, pláne hülyeséget?!

Hagyjad, fiatal még...

+1 kinövi hamar (reméljük)

nem, nem az. ennyire már nem fiatal:D

Mama's got a squeeze box
She wears on her chest
And when Daddy comes home
He never gets no rest

'Cause she's playing all night
And the music's all right
Mama's got a squeeze box
Daddy never sleeps at night

Well the kids don't eat
And the dog can't sleep
There's no escape from the music
In the whole damn street

... :)

- The Who