Group: Hardware/TODO/DUPLICATE INFO/Freest

From LibrePlanet
< Group:Hardware‎ | TODO‎ | DUPLICATE INFO
Revision as of 09:14, 25 January 2010 by Dclark (talk | contribs) (Yeeloong: Added info on openec, removed bit about VGA init blob as that was actually false (blob was in firmware but only used by Fuloong))
Jump to: navigation, search


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.

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

Hardware

Servers

  • Some server can be bought with coreboot pre-installed,informations are here

Mobile Phones and PDA/Tablets


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

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

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

  • here's a comparison of all the rockbox compatible players
  • you can find the status of the ports here

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:

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

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

  1. BeagleBoard + Power Supply + Case
  2. (framebuffer can be used without proprietary driver, 3D needs proprietary drivers)
  3. http://wiki.thincan.org/DBE61#Caveats states that "USB boot is not possible without highly experimental code."