User Tools

Site Tools


doc:appunti:hardware:lacie_d2_network

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
doc:appunti:hardware:lacie_d2_network [2010/05/05 17:00] niccolodoc:appunti:hardware:lacie_d2_network [2014/03/01 06:28] – [Compiling the Linux kernel] niccolo
Line 55: Line 55:
 === The back panel === === The back panel ===
  
-On the back panel there is a **three position power switch**. In the **on** position the device is powered-up and cannot be swithed off via software. In the **auto** position the device can be controlled by the front button and via software. In the **off** position the device is off, as you can guess.+On the back panel there is a **three position power switch**. In the **on** position the device is powered-up and cannot be switched off via software. In the **auto** position the device can be controlled by the front button and via software. In the **off** position the device is off, as you can guess.
  
 ===== LaCie software ===== ===== LaCie software =====
Line 347: Line 347:
  
 The Wake-On-Lan function works when the device is turned off but the power switch is on the //auto// position: sending a Magic packet will power-up the LaCie. The ''etherwake(8)'' program does not work, while **''wakeonlan(1)''** does. May be the difference is that ''etherwake'' uses raw Ethernet packet, while ''wakeonlan'' encapsulate the Magic packet into an UDP packet. The Wake-On-Lan function works when the device is turned off but the power switch is on the //auto// position: sending a Magic packet will power-up the LaCie. The ''etherwake(8)'' program does not work, while **''wakeonlan(1)''** does. May be the difference is that ''etherwake'' uses raw Ethernet packet, while ''wakeonlan'' encapsulate the Magic packet into an UDP packet.
 +
 +Connect the Ethernet cable **before** the power cable, otherwise the Wake-On-Lan will not work.
  
 ===== Dual boot with Debian ===== ===== Dual boot with Debian =====
Line 664: Line 666:
  
 Here it is the binary and the source code of **{{:doc:appunti:hardware:lacie:eeprom_write_byte.tar.gz|eeprom_write_byte}}**. Here it is the binary and the source code of **{{:doc:appunti:hardware:lacie:eeprom_write_byte.tar.gz|eeprom_write_byte}}**.
 +
 +===== The EEPROM =====
 +
 +With a proper kernel (2.6.32 with the above patch, or 2.6.37) the EEPROM content is exposed for read and write via the pseudo file **''/sys/bus/i2c/devices/0-0050/eeprom''**. This is what I know about its content:
 +
 +^ Offset  ^ Length  ^ Content  ^
 +|       0 |       6 | Ethernet MAC address.  |
 +|       6 |       1 | Power flag.\\ If set to **''LACIE_POWER_OFF''** (0), U-Boot will stop the boot process and wait for Wake-on-LAN.\\ If set to **''LACIE_POWER_ON''** (1), U-Boot will reboot.  |
  
 ===== Disassembling the LaCie d2 Network ===== ===== Disassembling the LaCie d2 Network =====
Line 813: Line 823:
  
 ===== Compiling the Linux kernel ===== ===== Compiling the Linux kernel =====
 +
 +You can download the kernel I compiled (vanilla with patches for LEDs) here: [[http://www.rigacci.org/pub/Linux/kernel-lacie/]]
  
 After several tries, I compiled a **2.6.32 kernel** suitable to boot the LaCie from an **ext3 Debian Lenny partition**. No initrd is required to boot (this is fortunate FIXME, because I don't know how to install initrd with U-Boot). Here it is the **[[http://www.rigacci.org/pub/Linux/kernel-lacie/config-2.6.32-lacie.0.10|config file]]**. After several tries, I compiled a **2.6.32 kernel** suitable to boot the LaCie from an **ext3 Debian Lenny partition**. No initrd is required to boot (this is fortunate FIXME, because I don't know how to install initrd with U-Boot). Here it is the **[[http://www.rigacci.org/pub/Linux/kernel-lacie/config-2.6.32-lacie.0.10|config file]]**.
Line 1007: Line 1019:
  
 Once **''init(8)''** will start, other devices will be created by **''udev(7)''**. Once **''init(8)''** will start, other devices will be created by **''udev(7)''**.
 +
 +===== USB Sound =====
 +
 +When I attached an **USB audio stick**, this is what the ''lsusb'' command says:
 +
 +<code>
 +Bus 001 Device 002: ID 0c76:1607 JMTek, LLC.
 +</code>
 +
 +Then the kernel loads the proper drivers:
 +
 +<code>
 +usb 1-1: new full speed USB device using orion-ehci and address 2
 +usb 1-1: New USB device found, idVendor=0c76, idProduct=1607
 +usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
 +usb 1-1: Product: USB Headphone Set
 +usb 1-1: configuration #1 chosen from 1 choice
 +usbcore: registered new interface driver hiddev
 +input: USB Headphone Set as /devices/platform/orion-ehci.0/usb1/1-1/1-1:1.3/input/input1
 +generic-usb 0003:0C76:1607.0001: input,hidraw0: USB HID v1.00 Device [USB Headphone Set] on usb-orion-ehci.0-1/input3
 +usbcore: registered new interface driver usbhid
 +usbhid: v2.6:USB HID core driver
 +usbcore: registered new interface driver snd-usb-audio
 +</code>
 +
 +Playing some mp3 tracks with **''mpg321''** via Alsa resulted in annoying **audio glitches**; strange enough the glitches tend to disappear if the LaCie is under heavy load. Fortunately there is a workaround: load the Alsa OSS compatibility layer and use OSS output instead:
 +
 +<code>
 +modprobe snd_pcm_oss
 +mpg321 -o oss track1.mp3
 +</code>
 +
 +Playing mp3 takes about 16% of CPU, 2% of memory and system load average remains near to zero.
 +
 +==== USB Audio volume problem ====
 +
 +On Linux kernel 2.6.32 (providing Alsa sound drivers 1.0.21) **the following USB audio dongle works as expected**, including the volume control:
 +
 +<code>
 +Bus 001 Device 003: ID 0c76:1607 JMTek, LLC. audio controller
 +</code>
 +
 +There is a problem with some **other USB chips**, where **the volume control does not work**. When the volume control is set to the lower position, the audio is muted, but at any other position the audio is set to its maximum value. This is a chip wich has the problem:
 +
 +<code>
 +Bus 001 Device 002: ID 1130:f211 Tenx Technology, Inc. TP6911 Audio Headset
 +</code>
 +
 +Here there is a [[https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/559939|bug report #559939]] reported to the Ubuntu distribution.
  
 ===== Other NAS comparison ===== ===== Other NAS comparison =====
Line 1019: Line 1080:
 | LaCie Network Space 1 TB  | 400 Mhz Marvell 88F6082 Feroceon  |     16/64 Mb |       ? |   1 |  No     ?   | | LaCie Network Space 1 TB  | 400 Mhz Marvell 88F6082 Feroceon  |     16/64 Mb |       ? |   1 |  No     ?   |
  
 +===== Backporting minidlna =====
 +
 +We run **Debian 6 Squeeze** on our LaCie d2 Network and we want it to be a [[wp>Digital_Living_Network_Alliance|DLNA]] server. We choosed [[https://packages.debian.org/search?keywords=minidlna|minidlna]] because it is targeted to embedded systems. The package exists for **Debian 7 Wheezy**, so we have to backport it.
 +
 +Into a **[[..:prog:qemu_arm|Qemu armel virtual machine]]** we installed the packages required for Debian developing and build dependencies, we need also debhelper from backports.
 +
 +
 +<code>
 +apt-get install build-essential dh-make debhelper dpatch
 +apt-get install libavcodec-dev libavformat-dev libavutil-dev libexif-dev \
 +    libflac-dev libid3tag0-dev libogg-dev libsqlite3-dev libvorbis-dev libjpeg-dev
 +wget http://ftp.at.debian.org/debian-backports//pool/main/d/debhelper/debhelper_9.20120909~bpo60+1_all.deb
 +dpkg -i debhelper_9.20120909~bpo60+1_all.deb
 +</code>
 +
 +Then we downloaded the minidlna sources and compiled the sources:
 +
 +<code>
 +mkdir /usr/local/src/minidlna
 +cd /usr/local/src/minidlna
 +wget http://ftp.de.debian.org/debian/pool/main/m/minidlna/minidlna_1.0.24+dfsg-1.dsc
 +wget http://ftp.de.debian.org/debian/pool/main/m/minidlna/minidlna_1.0.24+dfsg.orig.tar.gz
 +wget http://ftp.de.debian.org/debian/pool/main/m/minidlna/minidlna_1.0.24+dfsg-1.debian.tar.gz
 +dpkg-source -x minidlna_1.0.24+dfsg-1.dsc
 +cd minidlna-1.0.24+dfsg
 +dpkg-buildpackage -rfakeroot
 +cd ..
 +</code>
 +
 +The resulting **{{.:lacie:minidlna_1.0.24_dfsg-1_armel.deb|minidlna_1.0.24+dfsg-1_armel.deb}}** package installed fine into the LaCie, just make a symlink ''/run -> /var/run''.
  
 +Configuration file is **''/etc/minidlna.conf''**, default share directory is **''/var/lib/minidlna''**, used ports are **8200/TCP** (http and media transfer), **3307/UDP** and **1900/UDP**.
 ===== Web Links ===== ===== Web Links =====
  
Line 1025: Line 1117:
   * [[http://wiki.nas-portal.org/index.php/LaCie|Lacie @ NAS-Portal]]   * [[http://wiki.nas-portal.org/index.php/LaCie|Lacie @ NAS-Portal]]
   * [[http://www.lacie-nas.org/doku.php|LaCie NAS]] another Wiki, with U-Boot NetConsole   * [[http://www.lacie-nas.org/doku.php|LaCie NAS]] another Wiki, with U-Boot NetConsole
 +  * [[http://lacie-nas.org/doku.php?id=nastools|Project nas-tools]]
   * [[http://www.steppen-wolf.eu/blog/2009/11/18/lacie-2big-network-hack-telnet-openssh-ntpd-cups-and-more/|LaCie 2Big Network hack: telnet, openssh, ntpd, cups and more..]] in Italian.   * [[http://www.steppen-wolf.eu/blog/2009/11/18/lacie-2big-network-hack-telnet-openssh-ntpd-cups-and-more/|LaCie 2Big Network hack: telnet, openssh, ntpd, cups and more..]] in Italian.
   * [[http://luon.net/~admar/journal/LaCieEthernetDiskMini.html|LaCie Ethernet Disk mini]]. Interesting part on how to install a Debian into a chroot.   * [[http://luon.net/~admar/journal/LaCieEthernetDiskMini.html|LaCie Ethernet Disk mini]]. Interesting part on how to install a Debian into a chroot.
doc/appunti/hardware/lacie_d2_network.txt · Last modified: 2014/03/01 06:29 by niccolo