Reply
Thread Tools
Posts: 2,802 | Thanked: 4,491 times | Joined on Nov 2007
#21
Originally Posted by Stskeeps View Post
To the argument about what packages you need to make the N8x0 fully functional in terms of HW interfacing
Thanks for the list!

wlan-firmware (i know this is just a symlink to initfs)
bt-firmware (same)
Firmware source is a somewhat contentious issue in some circles, but would a binary redistribution licence cover these for Mer etc?

gstreamer0.10-hantro
Osso-dsp-modules-rx-44 - ti
I think we could live without these if needs be.

gpsdriver
It seems clear by now that this is not going to happen, and since it's broken anyway even binaries aren't that useful :-/ But at least it doesn't matter on anything other than N810.
 
Posts: 2,102 | Thanked: 1,309 times | Joined on Sep 2006
#22
Regarding the DSP stuff, if we decide to write our own DSP kernel we won't be able to use the DSP tasks anymore afaiu (as they are statically linked), so we'd need to write our own DSP tasks (which is generally a big undertaking).

With that said there's the skeleton of an mp3 decoder in Garage, which I've not had the time to debug, so it's a possibility. The alternative is to use the DSP to do other simpler and smaller acceleration functions but keep the main decoding done on the ARM (in which case we may want to develop ARM-side kernel audio drivers), no idea if this would be useful or not, but would be interesting.
 

The Following 4 Users Say Thank You to lardman For This Useful Post:
Posts: 29 | Thanked: 116 times | Joined on Jan 2009 @ Russia, Moscow
#23
Now we have opensource bt-cal implementation (not tested yet).
__________________
Don't thank me, better say something useful.

My NIT-related projects: Gentoo on N8x0, fb_text2screen, opendsme
 

The Following 10 Users Say Thank You to slonopotamus For This Useful Post:
Posts: 87 | Thanked: 40 times | Joined on May 2007
#24
I have one more idea about totally open stack.How about boot loader?Even PCs with their crappy proprietary BIOS'es still have opensource projects like CoreBoot these days.

Warning: reading further information can cause serious headache or may cause you to mess with things which are not totally safe for N8x0 devices health. You has been warned .

Nokia's NOLO is a very stupid piece of ... uhm, software. Once you managed to get device unbootable, you have to say "good bye" to all your data stored in internal device memory since you can only reflash device at this point. And this means your data are about to be deleted. Without any chance to create backup first. Not to mention it haves pretty few features and needs special proprietary software to deal with, etc . And on technical side for boot loader it is easy to fetch semi-damaged JFFS2 partition from flash and send it to flasher so it can store it into file. Then there is no prob's to mount such file using any decent Linux distro (or even live CD) to re-gain access to your data or even fix things preventing device from booting and re-upload fixed JFFS2 image rather than default one (that's what original flasher does and that's why it erases all data).

With a better boot loader it is possible to back-up data and use more convenient and standard ways to update firmware, like TFTP, HTTP, DFU, etc...

Furthermore, with a decent boot loader it could be possible to boot from alternate locations like SD card or network without custom initfs or whatever. I.e. in this way we can load custom kernel, initfs and rootfs from somewhere else. Just like you can boot complete system from CD-ROM or flash drive or network on PCs.

Some well known exmples of great and fully featured loaders are U-boot, RedBoot, etc. As a great example, you may want to take a look on how OpenMoko uses u-boot...

Caveats on this ways are at least;
  • This is undocumented. It deals with hardware and it's early initialization and some things are, uhm, unknown. Protocols, hardware initialization sequences, etc. And no, you can't strace boot loader, unfortunately (though it is possible to disassembly it and in many countries this is even completely legal and also there is "clean room" technique exists ).
  • It is possible to kill ("brick") device in this way. Once NOLO is f...d up, you're losing USB connectivity in boot mode. Since it is NOLO who listens on USB bus and communicates with flasher. But there is way to recover it, Nokia calls this "cold boot". Sadly it is not very well documented as well to the best of my knowledge. I suspect that you can use it in following way: attach serial cable to these strange pins under battery cover and use "cold boot" mode. Then boot loader part sent over serial wire to CPU regardless of lack of boot loader in flash (as far as I can guess this is powered by OMAP's internal ROM) and CPU can boot further and flasher uses this to reflash firmware parts in "cold boot" mode.
  • Ii is a very challenging task which requires to be familiar with hardware and unusual stuff which happens during early boot...

Btw, if someone cares about all this: you can find first part of boot loader, so called X-Loader on Ti's Linux related pages. It comes with sources, btw (Nokia maybe changed them a bit but basically it appears to be very similar to X-Loader from Ti sources).

What is this X-Loader stuff? OMAP CPU can't execute code from NAND directly, NAND haves too strange bus interface and too tricky blocks management to allow such things as direct code execution. So, OMAP comes with built in boot ROM. This boot ROM is quite sophisticated as far as I can guess (it is not documented for some reasons ). This boot ROM can load loader over serial cable ("cold boot mode").This boot ROM can execute "secure boot" sequence if desired (to prevent unsigned or tampered software from starting, fortunately it looks like n8x0 are not using this restrictive so-called-"feature").But most interesting, this ROM seeks for X-Loader in NAND and attempts to load it and starts it (optionally checking it's signature before, if secure boot mode desired, as I can guess, looks like in our case there is simply no signatures, though I did not checked this myself yet). X-Loader size is limited in size and should obey certain rules of it's layout so boot ROM can locate it and load it and run it. Due to limited size this loader does not executes all things itself. It only performs some hardware tests and attempts to load bigger second part from NAND flash. This bigger second part is known as "NOLO" and includes more featured module which can talk over USB with flasher and re-flash firmware parts. I guess this part can be replaced with something much better (like U-boot).
 

The Following 12 Users Say Thank You to PowerUser For This Useful Post:
qgil's Avatar
Posts: 3,105 | Thanked: 11,088 times | Joined on Jul 2007 @ Mountain View (CA, USA)
#25
Originally Posted by slonopotamus View Post
As a part of an effort to move N8x0 tablets to fully open software stack, I'm rewriting closed parts of Maemo platform as an free and opensource software.
There are some bugs with requests of opening Diablo components. The Mer project as been helpful getting some priorities. If this (also interesting!) project could also help making a list of components to be opened, that would be really helpful organizing my work pushing the relicensing of those components.
 

The Following 3 Users Say Thank You to qgil For This Useful Post:
Andre Klapper's Avatar
Posts: 1,665 | Thanked: 1,649 times | Joined on Jun 2008 @ Praha, Czech Republic
#26
Originally Posted by qgil View Post
If this (also interesting!) project could also help making a list of components to be opened, that would be really helpful organizing my work pushing the relicensing of those components.
Quim, see https://bugs.maemo.org/show_bug.cgi?id=4874 for libcal. I've CC'ed you.
__________________
maemo.org Bugmaster
 

The Following 5 Users Say Thank You to Andre Klapper For This Useful Post:
Posts: 29 | Thanked: 116 times | Joined on Jan 2009 @ Russia, Moscow
#27
If anyone interested, opendsme 0.2 was released today. Includes readonly libopencal (=libcal), open-wlan-cal (=wlan-cal + bt-cal) and semi-working open-cal-tool (=cal-tool).
__________________
Don't thank me, better say something useful.

My NIT-related projects: Gentoo on N8x0, fb_text2screen, opendsme
 

The Following 12 Users Say Thank You to slonopotamus For This Useful Post:
qole's Avatar
Moderator | Posts: 7,109 | Thanked: 8,820 times | Joined on Oct 2007 @ Vancouver, BC, Canada
#28
slonopotamus: I think it would be a good idea to make this into a garage.maemo.org project.

I'm pretty sketchy here; can this stuff be pushed upstream into the mainline Linux kernel, or is this not kernel related?

Good work, by the way. While Quim works within Nokia to open up their sources, you're working outside to rewrite them from scratch.... Between the two of you, we should get things opened up all the way...
__________________
qole.org --- twitter --- Easy Debian wiki page
Please don't send me a private message, post to the appropriate thread.
Thank you all for your donations!
 
Posts: 206 | Thanked: 72 times | Joined on Jun 2009 @ Switzerland
#29
This will not be more simple if Nokia used only Free Software?

Why Nokia does not make it so?

I started questioning me and I do not friendly look my N810 before.

Last edited by korbé; 2009-08-10 at 19:02.
 
Posts: 29 | Thanked: 116 times | Joined on Jan 2009 @ Russia, Moscow
#30
Originally Posted by qole View Post
slonopotamus: I think it would be a good idea to make this into a garage.maemo.org project.
Don't see any benefits from doing so.

I'm pretty sketchy here; can this stuff be pushed upstream into the mainline Linux kernel, or is this not kernel related?
It's all userspace.

Good work, by the way. While Quim works within Nokia to open up their sources, you're working outside to rewrite them from scratch.... Between the two of you, we should get things opened up all the way...
I doubt we'll ever see open wifi/bt firmware. audio dsp stuff is problematic. Except for that, things are surely doable.
__________________
Don't thank me, better say something useful.

My NIT-related projects: Gentoo on N8x0, fb_text2screen, opendsme
 
Reply


 
Forum Jump


All times are GMT. The time now is 07:14.