Fan control on the D-Link DNS-323
The kernel in Debian doesn't have support for the fan control chip on the D-Link DNS-323. Since some people said that their device runs quite hot after installing Debian, I've prepared a 2.6.29 based kernel that includes the fan driver.
If you want to install this kernel, edit the file /etc/apt/sources.list and add the following line:
deb http://people.debian.org/~tbm/orion lenny main
Now you can install the new kernel:
apt-get update apt-get install linux-image-orion5x
After a reboot, you can control the fan this way:
echo 0 > /sys/class/hwmon/hwmon?/device/pwm1 # turn it off echo 255 > /sys/class/hwmon/hwmon?/device/pwm1 # turn it to full speed
Any values between 0 and 255 will work.
According to Anselmo Luginbuhl, you should also be able to use the lm-sensors package to automatically control the fan:
"Execute pwmconfig, it will make some tests and generate the fancontrol config file. At the end of the procedure it will ask you to "Select fan output to configure, or other action:", just be sure to pass through choice "1" or it would not fill in the configuration file, save the configuration and start the daemon /etc/init.d/fancontrol.
Probably the only thing that needs some attention to get an optimal result is to choose the right parameters for max and min temperature at which the fan should start or stop to minimize the °C and the noise."
Finally, this kernel also includes some performance patches from Marvell, so you might see some performance increases too.
Corporate participation in open source communities
Someone recently asked me a few question about corporate participation in open source communities and I thought I'd share my thoughts on this topic here.
Are there differences between an open source project done for a corporation and one done for personal reasons?
There are many different ways to run an open source project, led by a corporation or by someone else. Some projects that are run by corporations have few outside contributors. This is often the case with projects that require copyright assignment (i.e. contributors have to assign their copyright to the corporation). These projects may not gain all the benefits of a true open source community, such as outside contributions or high levels of peer review. However, they may still be very successful projects and may have high levels of quality.
Projects done by a corporation may have better planning and may have more resources than other projects. When a corporation, especially a large one, starts or becomes involves in a project it can also give credibility to the project and attract a lot of interest to the project. This means that projects done by corporations may have a bigger impact and might also be more visible in terms of publicity.
How do corporations successfully utilize an open source community?
Corporations can benefit from an open source community in many ways. For example, they can often find people who will review their code or make code contributions. If people become excited about what the corporation does, they might also spread the word and create viral marketing for the corporation. Establishing a community around one's project is often also a good way to identify people to hire since you already have experience working with them and know their capabilities.
How do open source communities successfully utilize their corporate relationships?
Corporations can make several unique contributions. For example, large corporations can use their name to attract attention to a project and give it credibility. Furthermore, corporations have some capabilities that personal contributors often don't have access. They may have special testing equipment (such as servers with thousands of CPUs or hard drives) or access to a testing lab where a professional usability test can be done. Finally, corporations can sponsor developer conferences, which are typically very effective means for the community to come together and work on activities together.
It is important for projects to remember that corporations are not charities and that they will invest in an open source project for a reason. Therefore, they have to ensure that the corporation will get tangible outcomes from their involvement or sponsorship, otherwise they may not stay involved in the long run.
What are the risks for a corporation when working with an open source community?
One risk is that the code (or other form of contribution) is not accepted. However, this is a risk any contributor to a project faces. Before making any sort of contribution, it is therefore important to become familiar with the project and its culture. Every project has their own "do's" and "don'ts" that have to be followed.
Another risk is that a corporation will invest in a community project that later on is abandoned by the community. However, in this case, the corporation could take the lead and continue to maintain the project.
What are the risks for an open source community when working with a corporation?
One potential risk is that the corporation will assert too much control over the project. It's important for projects to ensure that the community as a whole has influence over the direction of a project rather than one particular player.
Are certain certifications needed in order for someone to participate in open source projects for a corporation?
Certifications are not needed to get involved in or start a project. However, it is important to become familiar with the open source community and the project one wants to contribute to. A good first step is to read the book Producing Open Source Software by Karl Fogel which is available online. As a next step, the community in which someone wants to get involved in should be studied, for example by reading the mailing list archives. This will help to become familiar with the culture of a project as well as the mechanisms to contribute to the project.
How do open source communities communicate and collaborate with corporations?
In the best case, employees from corporations would interact in the project like any other contributor. That is, they should use the existing communication channels, such as mailing lists, IRC or developer gatherings. Many companies are good at working "with the community" but the ideal scenario is for a company to be part of the community and to work "in the community", just like other contributors. This is the most effective way for them to make changes to the code and project.
Of course, not every corporation will get involved in a project directly. That's why it makes sense for projects to collaborate with corporations in other ways. For example, projects can talk directly to companies to get samples of their hardware in order to add support for them in their software. Projects can also work directly with corporations to find out how their project can better meet the needs of enterprise users.
Initial thoughts on the new QNAP TS-219P
QNAP has announced a new device earlier this month, the QNAP TS-219P. The
specs are very similar to the TS-219 (1.2 GHz Kirkwood CPU, 512 MB RAM and
16 MB flash) but the device is smaller and has some other advantages.
What I like about the new TS-219P:
- The device is more compact and looks really nice.
- The fan is less noisy than the one in the TS-209 and TS-219.
- There are two eSATA ports.
What I don't like so much:
- The device only has one Ethernet. I'd really like to see two Ethernet ports.
- The serial connector cannot easily be accessed through the SATA slot, something that was possible with the TS-209.
Since the TS-219 and TS-219P are quite similar, Debian and the installer will work without any problems. I updated my QNAP page to document the QNAP TS-219P, including some pictures of the new device.
SheevaPlug lenny tar ball and SD cards
I updated my SheevaPlug installation instructions today to document how to boot from an SD card. The u-boot boot loader shipped with the SheevaPlug doesn't have SD/MMC card support, but PlugComputer forum user kwonsk created one that does (and which works pretty well, except for not working with some SD cards).
First successful installation on QNAP TS-219
I performed the first successful installation of Debian on the QNAP TS-219 using the Debian installer today. Everything is in place now but the Linux 2.6.29 kernel has to move to testing so installations will work.
Automatic power on QNAP Turbo Station devices
All ARM based QNAP machines can turn on automatically when power is applied if the device was not powered down correctly. This is helpful when your power goes down. Follow the instructions below if you want to turn automatic power on using Debian on a QNAP TS-109, TS-119, TS-209, TS-219, TS-409 or TS-409U.
Edit the file /etc/apt/sources.list and add the following line:
deb http://people.debian.org/~tbm/orion lenny main
Now install a new version of qcontrol:
apt-get update apt-get install qcontrol
Finally, turn the automatic power feature on:
qcontrol -d & qcontrol autopower on kill %1 rm /var/run/qcontrol.sock
Update on QNAP TS-119/TS-219 kernel support
I mentioned a few weeks ago that initial kernel support for the QNAP TS-119 and TS-219 Turbo NAS got accepted for 2.6.30 but that there were some issues left. Here's an update:
- SATA: Kirkwood uses a different SATA PHY and the Orion settings weren't quite right, leading to the timeouts I saw. As it turns out, Saeed Bishara from Marvell had a patch for this already and it will be in 2.6.30-rc6.
- Flash: writing to flash is now possible thanks to a patch from Peter Horton that has been merged into 2.6.30-rc5.
- Parsing the MAC address: Thomas Reitmayr created a patch to parse the MAC address from flash but the kernel people thought this should be done in userspace. I haven't looked into this yet... maybe the best solution is to document that the MAC address will change.
- SATA lights: Thomas Reitmayr created a patch to fix this issue.
The SATA and flash fixes are already in our 2.6.29 kernel.
Debian 5.0 (lenny) tar ball for QNAP TS-119 and TS-219
Since the installer isn't quite ready yet, I created a tar ball containing Debian lenny for the QNAP TS-119 and TS-219 along with some installation instructions. The QNAP firmware is used to partition the hard drive and unpack the tar ball, so Debian can be installed without having to put the hard drive into another machine.
Debian 5.0 (lenny) tar ball for the SheevaPlug
It took me a while because of travel and other projects, but I finally released a tar ball containing Debian lenny for the SheevaPlug along with some installation instructions. It should be really easy to install Debian this way, but I'll also make sure that SheevaPlug support will be in the Debian installer for the next release of Debian. For now, check out the tar ball I prepared!
Adventures with the Qstarz BT-Q1000X GPS logger and receiver
Spring has arrived in Europe and I'm looking forward to spending more
time outdoors. While I was pondering some plans, I thought it would be
nice to have a GPS. I've never used a GPS before but it seems it will
allow me to combine outdoors activities such as walking and hiking with
geek things. In particular, I'm interested in tracking where I'm going
(what route, what distance, what speed, etc), geotagging photos and
possibly contributing to OpenStreetMap. Since last week, I have a
Qstarz BT-Q1000X (Travel Recorder X), a GPS logger and receiver, and
I've been playing around with it a bit. This device uses the new MTK II
chip, which gives good accuracy and long battery time.
I've created a new gps category in which I'll share my experience using a GPS in general and specifically the Qstarz BT-Q1000X. I've also created a Qstarz BT-Q1000X and Debian page to describe how to use this GPS device on Linux and I'll add more information to the page as I try out different applications.
OSI signs an MOU with the Korea Software Copyright Committee
I visited Seoul last week to represent the Open Source Initiative (OSI) at an open source conference and to sign a Memorandum of Understanding (MOU) with the Korea Software Copyright Committee (SOCOP). SOCOP organized a conference with the title "Free Open Source Software License Insight Conference", and the international speakers included Brett Smith of the FSF, Brendan Scott of Open Source Law, Michael Coté of RedMonk and myself. From the questions we received, it seems that there is a lot of interest in legal questions related to open source. There were a number of folks from hardware companies that asked specific questions what they could do and couldn't do (e.g. related to including sources for GPL code and properly giving credit for BSD code).
I think the conference was a great success. The talks were of high value and we got good questions. The audience was quite mixed, ranging from managers to developers. Even though they had simultaneous translation of the talks, the majority of the people listened in English... this gives me hope that some of these folks will end up becoming involved in the international open source community.
SOCOP is working on a number of activities related to open source,
including:
- An information portal called OLIS.
- The translation of all OSI approved licenses to Korean.
- The verification of open source code to identify which code uses which license.
- More promotional activities, including workshops and conferences.
The day after the conference, I went to the SOCOP office to sign the MOU between SOCOP and OSI with Mr Yung Bo Koo, the chairman of SOCOP. The MOU says that we'll share knowledge and expertise, help with promotional activities and support each other's activities in other ways. I was delighted to sign the MOU between SOCOP and OSI, and I look forward to a fruitful cooperation between our organizations in the future. It's great to see so much interest and so many activities around open source in the Republic of Korea.
Test kernel for Orion with performance patches available
Marvell posted some performance patches for ARM that speed up the copy_to_user and clear_user functions which are used to copy data around. I see quite a bit of performance increase with these patches on Orion, and I've prepared a test kernel so you can try them out too. This kernel should be treated as experimental, but I'm looking for testers with Orion-based hardware (e.g. QNAP TS-109, TS-209, and TS-409) who are interested in giving it a go.
If your system has a rescue mode (the QNAP devices and the HP mv2120 do), I suggest you first make a backup of your flash. On the QNAP devices, you can do this with:
cat /dev/mtdblock1 /dev/mtdblock2 /dev/mtdblock3 > qnapimg.bin
Then edit the file /etc/apt/sources.list and add the following line:
deb http://people.debian.org/~tbm/orion lenny main
Now you can install the new kernel:
apt-get update apt-get install linux-image-2.6-orion5x
Please ignore the warning that the package cannot be authenticated. This is because I haven't signed the repository. After the installation of the kernel, reboot and do some tests: Do you see any speedup? Do you see any problems?
Kernel support for QNAP TS-119 and TS-219 Turbo NAS in 2.6.30
My patch for initial kernel support for the QNAP TS-119 and TS-219 Turbo NAS got accepted and will be in 2.6.30. I can run Debian on a USB disk without any problems but there are some issues left (some severe, some cosmetic):
- SATA: there are long timeouts when initializing the disk. In most cases, the disk is eventually recognized but it can take quite some time. I've no idea why those timeouts happen.
- Flash: I can read from flash just fine but writing doesn't work.
- Parsing the MAC address: even though a MAC address is set in u-boot, the QNAP firmware stores the real MAC address in flash (similar to the TS-109 and TS-209). The TS-109/TS-209 code to read the MAC address doesn't work because the flash on the TS-219 is connected in a different way (SPI).
- SATA lights: the activity light doesn't work.
Unfortunately, I've no idea how to resolve these issues. However, the QNAP TS-119 and TS-219 have started shipping so hopefully someone else will investigate these issues.
Debian lenny images and docs for Debian on D-Link DNS-323
After integrating Matt Palmer's installer patches for D-Link DNS-323, I have now created installer images based on Debian lenny. They will work both on the D-Link DNS-323 as well as the Conceptronic CH3SNAS. I've also written an installation guide and other information, including how to use the recovery mechanism through the serial console.
Power consumption of the SheevaPlug
Various people were wondering how much power the SheevaPlug consumes exactly. Laurent Guerby, who runs the GCC Compile Farm, posted some data today. According to his measurements with an Energy Monitor 3000, the SheevaPlug uses:
| 3.1W | just on, Linux booted |
| 3.3W | serial |
| 4.3W | serial + Ethernet |
| 5.4W | serial + Ethernet + 100% CPU |
| 6.0W | serial + Ethernet + USB disk |
| 7.0W | serial + Ethernet + USB disk + 100% CPU |
However, these figures should be seen as preliminary and relatively high values since power management for Kirkwood has not been implemented in the kernel yet. In particular, the Kirkwood chip has SATA and PCI-E but they could be turned off since they're not used by the SheevaPlug. This is currently not done in the kernel, so you can expect some improvements in this area.
SheevaPlug: the NSLU2 killer
I received a SheevaPlug this
week, an intriguing device that packs incredible power and functionality
into a tiny package. As many of you know, I've been doing a lot of work on
Debian for the Linksys
NSLU2 in the last few years. The NSLU2 is a key reason why ARM has
become the third most popular architecture in Debian (after 32 and 64 bit
x86), and I believe a main reason is that the NSLU2 is so incredibly cheap.
At a price under $100, most people don't think too long and simply buy a
device and do something cool with it.
The SheevaPlug is being offered at the same price range but offers considerably more. Riku Voipio asked the right question: "What would you do with something approximately 10x more powerful with same prize/size range?" I believe the SheevaPlug is a killer replacement for the NSLU2 and here's why:
- Marvell Kirkwood 6281 CPU at 1.2 GHz with 256 KB L2 cache (compared to a 266 MHz CPU)
- 512 MB RAM (compared to lousy 32 MB)
- 512 MB flash, enough for a basic Debian installation (compared to 8 MB)
- Gigabit Ethernet (compared to 100 Mb) and no proprietary microcode required
- 1x USB and 1x SD (compared to 2x USB: the only advantage the NSLU2 has)
- ... and finally: mini-USB with serial console and JTAG: while Debian on the NSLU2 works well and is stable, we regularly had users whose system would no longer boot and there was no good way to figure out why. The serial console on the SheevaPlug actually allows users to figure out what's going on.
I'm incredibly excited about the SheevaPlug and the first thing I did was to take the device apart and look at the inside. The results can be found in the SheevaPlug image gallery. My next project will be slightly more productive: porting Debian.
As I see it, we should support the following three installation variants for the SheevaPlug:
- To an external USB drive or stick.
- To an SD card.
- To the 512 MB flash memory on the device.
The first two should be relatively straight forward, but of course installing to the internal flash memory is particularly interesting given that 512 MB (plus compression) is enough for a basic installation of Debian. Unfortunately, installations to MTD flash are currently not supported in the Debian installer but I hope we can find a volunteer who wants to implement this functionality.
My next steps are to put a kernel for the SheevaPlug into the archive and to get a basic installation going. From there we can look at more sophisticated installation options and other functionality.
Debian support for QNAP TS-119 and TS-219 Turbo NAS coming
I received a sample of QNAP's new TS-219 Turbo NAS today. The TS-119 and
TS-219 devices are an upgrade to QNAP's TS-109 and TS-209 devices and were
announced earlier this month at CeBIT. The new TS-219 uses the same robust
case as the TS-209 but offers much more performance:
- Marvell Kirkwood 6281 at 1.2 GHz (instead of Orion 5182 at 500 MHz)
- 512 MB RAM (instead of 128 or 256 MB)
- 16 MB flash (instead of 8 MB)
The numbers I've seen about the Kirkwood CPU suggest that the TS-219 will indeed give a very significant performance boost. So far, the TS-219 looks very nice. My only complaint is that QNAP didn't export the second Ethernet port the Kirkwood chip offers, but I suspect this is because they wanted to stay as close to the original design of the TS-209 as possible.
In any case, the TS-219 is a nice machine and I look forward to porting Debian to it. As a first step, this means getting the mainline kernel to run on the device and adding a kernel for Kirkwood to the archive (the latter is needed for a number of other devices based on Kirkwood anyway). Hopefully, the remaining porting work and integration into the Debian installer should be fairly straightforward given that the TS-209 is already supported in Debian. I'm sure I'll find out as I dig into the details...
I'll give periodic updates of my progress. In the meantime, I've created an image gallery of the TS-219.
D-Link DNS-323 and Conceptronic CH3SNAS support integrated in installer
I finally had a chance today to test the patches Matt Palmer created to add D-Link DNS-323 support to the Debian installer. I tested the patches on a Conceptronic CH3SNAS which, from a hardware perspective, is a D-Link DNS-323 (rev B1). I noticed that the firmware image specifies a number for the vendor, so we have to generate different installer images for the D-Link DNS-323 and Conceptronic CH3SNAS. That was easy enough to do and I was able to install Debian without any problems.
The next steps are to write an installation guide and other documentation, and to improve the kernel (the power LED is blinking and cannot be changed, and fan control is missing).
Debian (5.0) lenny released
Debian GNU/Linux 5.0 (lenny) has officially been released today. I'm very happy that the official release has happened now because I put a lot of energy into it. In particular, I ported Debian to Marvell's Orion platform and tried to make the installation experience of Debian on various Orion based NAS devices, especially the QNAP Turbo Station series, a good experience for users. I'm happy that lenny has officially been released and is therefore available to a wider range of users.
Releasing lenny also means that development is open again and that I can make some of the larger changes that weren't possible during the freeze in the last few months. One of my goals for the next release is to add support for Marvell's Kirkwood platform. We'll see some very interesting devices based on Kirkwood but unfortunately I cannot reveal any details yet.
SmallNetBuilder article about Debian on QNAP TS-209
Jim Buzbee published an article in SmallNetBuilder a few days before Christmas about installing Debian on the QNAP TS-209. I find the article very well written and balanced, and it makes a good introduction for folks who are interested in installing Debian on NAS devices.