Group: Hardware/TODO/DUPLICATE INFO/Freest
Please help
Please add to this list, and speak up if you see something that you know is non-free!
Desktops
Definition
These systems at minimum should have:
- The ability to work stand-alone - no reliance on other computers being available
- Libre boot firmware (BIOS)
- No components that can not be replaced by a person with a screwdriver that require drivers with binary blobs to function
- Usually wifi adapters and graphics adapters are the issues here - you can help with this if you are a hacker with appropriate skills...
- Not make an insane amount of noise or have a form factor that is aimed at the server market
Comparison: Basic properties
Release year | Approx System Price | Architecture | Boot firmware | Wifi chipset | Video chipset | Links | |
---|---|---|---|---|---|---|---|
BeagleBoard RevC2 | 2008 | $206.30[1] | armel | u-boot | - | PowerVR[2] | Detailed Specifications |
ThinCan DBE61C-USB | 2005 | $395 (for 2) |
i386 | coreboot[3] | - | todo | todo |
Comparison: Where purchasable and lowest-cost shipping option
World | BE | CN | FR | US | |
---|---|---|---|---|---|
BeagleBoard RevC2 | Yes | $22 | |||
ThinCan DBE61C-USB | Yes | $125 |
Please use ISO Country Codes.
World indicates that there is at least one reseller that is willing to ship anywhere in the world as a standard part of their business.
Misc Notes
BeagleBoard RevC2
- 3D graphics require a binary blob, but you can just not use 3D graphics.
- Boot loader is u-boot. ROM source isn't open, but ROM is really ROM, in the chip, not flashable from software. There is a loader between the ROM and u-boot called x-loader, but it is based on u-boot and is free software.
- x-loader is also called MLO when put on a sd-card : from the #beagle channel: "<khasim> MLO is x-loader, x-loader is strip down version of u-boot, used to get a minimal bootloader onto OMAP3's internal RAM, generally used with NAND and MMC booting as they are don't support executing in place"
- the tools for compiling and flashing x-loader are free software : "<Gnutoo> ok are the tools for compiling x-loader and flashing it free software? => <jpirko> Gnutoo: yes" and the source of some uttilities can be find here
- The Always Innovating Touch Book is basically a BeagleBoard in a (*really* :-) nice case.
- See IRC logs starting here for more...
- It's *really* tiny. The box is about the size of 2 packs of playing cards.
- http://kamejoko80.wikidot.com/news
- Kridner observed that the board's HDMI video port is not actually HDMI-compliant. However, he said it "works great" with low-cost HDMI-to-DVI adapters and ordinary LCD flat panel displays. "The splashscreen is 1280 x 1024, but the bottleneck is on the pixel clock, which has a 75MHz limitation. So right now we can do 720p — 1280 x 720 — at 30 frames per second," he said. [1] - This is good as HDMI is usually DRM-encumbered [2].
ThinCan DBE61C-USB
Really expensive shipping.
lshw output
Output from lshw.
BeagleBoard RevC2
TODO
ThinCan DBE61C-USB
TODO
Machines to evaluate when possible
Now it is available in Europe on tekmote.nl: Lemote Fuloong 6004 Linux mini PC. Price: 215.00 € excl. VAT, excl. delivery.
Routers
A lot of router run or are capable of running a GNU/Linux distribution,but most of them have non-free wifi drivers despite of having a free bootloader(which replace the bios)
- [HOWTO free your wrt54*/brcm47xx router] : running a 100% free GNU/Linux distribution on your wrt54*/brcm47xx router router is possible...it just need to be polished
- routers with atheros wifi cards usually come with wifi driver named madwifi and that contain(need to verify if it's still the case) a blob named HAL. but Master mode may be possible with the ath5k driver + wireless-compat
- Mesh talks about some specific ath9k wifi access points / routers
Laptops
Lemote
The Lemote yeeloong is the first fully free laptop, including the Bootloader(that replaces the BIOS) and the operating system.There are no firmwares in the wifi card. gNewSense MetaD mipsel is already available for this laptop, and used by Richard Stallman.
Touchbook
The touchbook is based on a beagleboard,it has non-free 3d,but using 3d is not mandatory(you can use omapfb). The wifi requires a firmware,but the wifi card is usb,and you can easily open the device and change the usb wifi card. The other things beside the Others CPU(DSP etc...) seem free.
The first thing to liberate it is to change distribution for another one that doesn't use the 3d driver if it exist. Then you have to change the wifi usb card,which is easy. Then if you're in DSP programming you could look at the work of Benoit Papegay for making the same for omap3.
Characteristics
- MIPS 64 CPU@800MHz
- 512MB or 1GB of DDR2 RAM
- 1024x600 screen
- 160GB hard disk or 2GB SSD or 8GB SSD
Non-Free Components
While Lemote has made an amazing effort to make the hardware as free as they possibly could, there are still a few non-free software components (in the form of binary blobs):
- The Embedded Controller (EC) - Code belongs to Quanta, Lemote cannot release. Lemote has agreed to not release nonfree update code; from a freedom point of view, it can be treated as unmodifiable hardware. However this is suboptimal, so there is a project to make OpenEC work on it (#gnewsense-dev channel on freenode IRC).
- Hard Disk firmware (on hard disk itself)
Mini Computers
Nanonote
- Qi-Hardware is a project that works around copyleft hardware its first product is called Ben NanoNote
Hardware
- JZ4720 366 MHz MIPS compatible processor from Ingenic Semiconductor Co.
- 3.0" 320x240 pixels colour TFT LCD (40x15 character in a text console)
- 32MB SDRAM
- 2GB NAND Flash Memory
- 1 microSDHC slot (SDIO capable)
- 59 keys Keyboard
- Stereo headphones connector, mono speaker and microphone audio interfaces.
- USB Mini B host connector
- 3.7V 850mAh Li-ion Battery and 5V 500mA DC input trough USB port
- Overall dimension (lid closed): 99 * 75 * 17.5mm. (display: 7.5mm, keyboard: 10mm)
- Weight: 126g (includes battery
Servers
- Some server can be bought with coreboot pre-installed,informations are here
Mobile Phones and PDA/Tablets
- Openmoko Freerunner is currently the most free mobile phone
- There is an effort to liberate the Palm Pre as much as possible
- NEW 2009-09-25: Palm Pre One Month FSO Voice Call Challenge
Openmoko
The good
- all what runs on the main CPU is free
- it uses a standard GNU/Linux distribution
- several GNU/Linux distributions avaliable such as:
- SHR
- Debian
- Openmoko
- free schematics
- debug board avaliable(JTAG+serial)
- 2 bootloaders so you can realy be free and change your bootloader without risks
The bad
- Some units are affected by a buzz(strong noise during calls),but there were buzz-fix parties,and some resellers sell fixed phones
- Glamo chip:
- NDA
- compatibility problems with some micro-sd cards
- The basses are filtred on the headphones output...because of a capacitor which value was too low(can't be fixed)
- non-free firmwares:
- GPS
- GSM
- WIFI(beware hardmac...that is to say that the wifi connection stack is in the firmware)
- Me and other people experienced gprs connection drop with SIP
- Others bugs/problems are in the bugtracker
- The openmoko company had economic problems and transferred the development of the next phones,and the task of maintaining the current software to the community
- non-free uttility needed in order to update the GSM's firmware(only needed if you want to update the gsm's firmware because of bugs such as the non recognition of some sim cards)
Palm Pre
- The Pre Dev wiki provides information on the Pre, including information on jailbreaking/rooting the device.
- Palm provides (incomplete) sources for the Pre on its opensource website
- What's Missing:
- The Palm-provided sources lack build scripts (openembedded recipes)
- The Pre uses Directfb; directfb is LGPL according to wikipedia and this blog post. (Does this mean we should expect source?) UPDATE: only if they were modified
- What's Missing:
- There is a page on the Free Smart Phone wiki documenting/coordinating efforts to liberate the Pre from non-free software.
- NEW 2009-09-25: Palm Pre One Month FSO Voice Call Challenge
Others (Anti-vendor port) phones
- See here for a list of some phones or devices that can be liberated.
- Be careful when replacing the bootloader: some devices boot with Haret or a similar bootloader; this means that the device boots from the original OS, so:
- the boot time is very long
- you still have a non-free os on the phone/device that could do nasty things
- Some phones(glofiish) that are quite similar to the openmoko have a free bootloader (instead of a BIOS), but have incomplete support for the Linux kernel.
Note:
- Flashing the bootloader without a recovery plan is dangerous. Doing so could render your device useless (we call that process "bricking" the device).
Android
(This needs to be separated into hardware and software sections probably - also the links are weird, need to get proper mediawiki footnotes working and convert to those)
Software
Replicant is an active project to free the HTC Dream. We currently have a working libre firmware image that can make/receive calls and send/receive sms messages. GPS, WIFI and CAMERA firmware are non free.
Noisedroid is a build of Android for the G1 ("G-phone", "HTC Dream", "Googlephone") aimed at personal freedom, privacy, and anonymity,but contain proprietary drivers.
Hardware
Currents[3] android phone should not be used as is:
- It has undocumented and possibly unwanted default behavior [0]
- The G1 and the dev phone have non-free ati 3d driver[2]
- some applications like the market are not free
If you buy one expect to have to do some work such as:
- jailbreak/root it if it's not a dev phone
- reflash a bootloader if it's not a dev phone(Flashing the bootloader without a recovery plan is dangerous...you could render your device useless(we call that process "to brick it") )
If you want a real GNU/Linux distribution you should:
- create a GNU rootfs
- port the FSO stack to it: in order to have the telephony part you should write some code for suporting the specificities of your modem
- maybe others things that I could have forgotten
Else,if you want an android version you should:
- download the source and follow the howto [6]
- do some work to remove the non-free 3d driver
- compile a free version of android
Note that with that version you won't be able to have a free SDK without non-free dependencies
NOTES on openmoko and android:
- The openmoko phone is capable of running a free version of android(without google stuff,see [3]). There are several ways of having a fully free android for the freerunner:
- Compiling the image yourself
- using a user-generated rootfs [5]
- Using a kooolu[8] image but removing the non-free software: In order to do that you must replace the userdata.img by one from a user-generated rootfs [5]
Notes on the SDK
- while [4] states that the free version of the SDK(*YOU NEED TO COMPILE YOUR SDK...DO NOT USE GOOGLE'S DEFAULT SDK* because it is not free[11] ) has a non-free dependency: java-1.5(we have free java but it's 1.6) we could overcome this limitation using this howto: /howto_have_a_free_android_sdk
TODO:
- look if there is 2d acceleration for kdrive/xorg
References
[0]
- "More annoying, though, is that the phone requires the creation of a Gmail account as part of its setup process. The fact that one does not have - and does not want - such an account is not relevant. So now your editor has an entry in the Gmail account database which will never be used." [8]
- "Once you have overcome this stage you will notice that there is sporadic data traffic without letting you know who accesses the net with which information and why. Even worse if you enabled GPS sometimes you see the GPS getting a fix and then data traffic, WTF!? Here I would wish more control. On Series60 you can choose to be asked to allow data connections." [1]
[1] http://www.linuxtogo.org/android-on-g1
[2] http://lwn.net/Articles/313116/ inside [8]
[3] as explained here there are several modalities for a vendor to put android on a phone
[4] "JDK 5.0, update 12 or higher. Java 6 is not supported, because of incompatibilities with @Override." in http://source.android.com/download
[5] http://moko.serdar-dere.net/
[6] http://source.android.com/download
[7] IRC logs:in #freerunner-android in freenode
[8] http://lwn.net/Articles/311715
Jul 05 16:15:04 <Gnutoo> so basically your images(so not koolu's ones that have skype) are 100% free
Jul 05 16:16:41 <serdar> but not working well
[8] http://trac.koolu.org/wiki/Releases
[9] /proprietary G1 files
[10] /freedroid
[11] http://developer.android.com/sdk/terms.html
Not categorized yet phones
we need to look if some phones can have 100% free software on the main CPU.Phones that fit in that category are:
- The omap zoom II is potentially a great phone,very similar to the beagleboard...but it costs a lot
- The flow
- The exeda mobile
Nokia tablets
The Documentation on what is not free can be find here
Walkmans/Music players
Rockbox players
Archos's players
While Archos's players runs GNU/Linux there are several problems with them,depending on the model
Pma430
Pma430 is a very old player which runs a 2.4.19-rmk7 linux kenrel that has proprietary drivers such as:
- framebuffer(a free replacement exist for uclinux)
- DSP(maybe free replacement extst)
The userland has also a lot of proprietary things such as:
- a proprietary version of qtopia
- the media players are proprietary(a port of mplayer exists)
In addition it ran only signed images(but code could run on the unit) until someone released a software for getting rid of this artificial limitation(patching the bootloader) TODO:
- port the free drivers to the 2.6 kernel
- port free replacements of the proprietary drivers to the 2.6 kernel
- make a free rootfs
- contact Benoit Papegay for having the sources of his work:
From: Benoit Papegay <benoit.papegay 'AT' free.fr> Reply-to: openPMA developer mailing list <openpma-dev 'AT' openpma.org> To: openpma-dev 'AT' openpma.org Subject: [openPMA-dev] dm270 Date: Tue, 10 Feb 2009 22:15:49 +0100 (CET) I've find a way of using the dm270 processor without stopping the omap. I've written a small module, a firmware and a loadder. the main problem is that it is totally incompatible with archos' modules. It could be used to init the lcd, the videnc and the video mode, but I found it is still too slow. So I've try to use dspgw to access video memory. In order to use a recent version of dspgw, i'd like to port the pma to a 2.6 kernel, so i wonder if someone ever try to compile and boot it. I'm actually cleaning my code and writing some explanations on how to use it. I'll make it public soon. -- Benoit Papegay _______________________________________________ openPMA-dev mailing list openPMA-dev@openpma.org http://www.openpma.org/mailman/listinfo/openpma-dev
NOTES:
even with a fully free rootfs the device would have some problems because of the DSP:
- The device is slow when playing audio because you have to feed the DSP(that does audio) very frequently
- The DSP part is not free,and is buggy,for instance you often have to reboot the whole player when it refuses to play a new song,often occurs when going backward in the playlist
x04/x05
Theses models have also the bootloader signature problem,and are not fully liberated.
Basically someone can run code on the unit[1] and even have run qtopia version running[2] but you can't run your own rootfs or make changes to the filesystem.
But even worse...some people managed to remove the bootloader's limitations[3],but they don't want to release what they did
[1] http://code.google.com/p/arcwelder/
[2] http://forum.archosfans.com/viewtopic.php?t=11144&start=447 ,I didn't check if there are the sources
[3] http://forum.archosfans.com/viewtopic.php?f=34&t=17200&st=0&sk=t&sd=a&sid=47c8cee105cd9646d923c3349a0cab32
TODO:
- get rid of the bootloader's limitation,you should have knowledge of arm assembly,know well security,and know how to write exploits
- create a free rootfs
Components
The components are part of a computer,such as the graphic card and can be used to choose laptop and embedded computers ,or to make or choose Desktop computer
Graphic cards
- Free Graphic cards drivers must be checked in order to see if there are some sort of microcode loaded.
Intel Cards
Most of intel card come with a free software driver but some cards like the GMA 500 are instead a Powervr which lacks free software driver for something else than framebuffer.
Note that the Poulsbo chipset incorporate a Powervr
Ati Cards
The status of the most common Ati chipset support in the free software driver can be find here
The correspondence between the chips and the cards models are here
Nvidia Cards
The support for Nvidia cards in the free software driver(nouveau) is very experimental,status can be find here,there is also a Status Matrix
Note that the nv driver while beeing under a free software license, is ofuscated.
Wifi cards
- ath5k
- ath9k
- rtl8187
- rt2500
Mainboards
Mainboards for x86 system
Usually Mainboards comes with a bios already present,but that's not always the case:
- some alix boards but not all of them comes with a free software replacement for the BIOS named tinybios
- some system can be bought with coreboot preinstalled(where?)
Otherwise the only solution is to install coreboot if the mainboard is suported or port it if the chip are suported but not the mainboard. This is a complicated procedure which include the removal and replacement of the bios chip(the Eprom memory chip) while the computer is running. Here is the list of Supported Motherboards
Other Hardware
Hobbyist hardware
- BUGlabs's bug: 100% free software, apart from the possible firmwares, schematics are avaliable
- Arduino
- Pinguino,the blog of the project is here
See Also
- Hardware Devices that Support GNU/Linux
- Open Hardware - This project is intended to bring the “open source feeling“ to the hardware realms. (for hardware hackers)
Mediawiki-related work in progress
Looks like we need some things that are on wikipedia mediawiki [3] but not here or default in 1.15.1 [4] for this to look good. I'm copying a lot of syntax from this wikipedia article [5].
Specifically this syntax is not working completely:
Template syntax
{{yes}} {{no}} {{rh}}
Example: style="background: #90ff90; color: black; vertical-align: middle; text-align: center; " class="table-yes"|Yes
Notes
- ↑ BeagleBoard + Power Supply + Case
- ↑ (framebuffer can be used without proprietary driver, 3D needs proprietary drivers)
- ↑ http://wiki.thincan.org/DBE61#Caveats states that "USB boot is not possible without highly experimental code."