Posts

firewall on N900

Grr my first post of this year and I plan to start "I confess: I am a paranoid". what the heck, lets go with it: I confess, I am a paranoid. I carry around my N900 all the time and thanks to my job, I end up in different continents at times. with my primary SIM connection, international data network tends to around 15$/MB which I don't really feel like paying, so I either choose a local SIM (If I am around for that long that deserves it) OR more likely to use WLAN in the hotel or guest network I am allowed on. I don't like wlan network in general other than the one I personally setup. and hence dont like the thought that my phone's network services are open for all on wlan0 device :(. This triggered my search for something quick and simple firewall. I think of it more or less as a basic password I'd setup on my laptop of a phone unlock code or lock my car when I step out of it - it can be counteracted, but what the heck, some one has to see it worthwhile the e...

meego kernel on pandaboard?

Image
What exactly is a kernel? at the end of the day, just a collection of patches :).. So yeah, I have a "unique" collection of patches for PandaBoard that I requested MeeGo kernel maintainers to pick up yesterday. Now to wait and see if they actually get accepted. Next steps would be tough: DSS - omapfb enablement EHCI - keyboard and mouse As usual, the patches to provide the basic functionality does'nt seem to have made it upstream yet.. I sometimes wonder - Is it really so hard to push patches upstream?? Then I realize, I push patches in my spare time :) Which basically means that I am not driven by the chruning winds of business forces within the work environment dictating when and what patches I should be posting upstream :). Glad I still retain that flexibility. and probably the reason I do move seemingly faster - I always have the luxury to maintain focus on upstreaming my patchset.. it is all that hard when one writes in BOLD on one's office white board: DID YOU...

Tired of ttySx and ttyOx

Recently linux-omap integrated omap-serial patches. Now we dont use ttyS2 anymore but use ttyO2. tired of switching kernel versions and fixing my getty, wrote the following In my busybox /etc/init.d/rcS file: proc=`mount|grep "proc"` if [ -z "proc" ]; then mount -t procfs none /proc fi if [ -f /proc/cmdline ]; then # grab console from cmdline and use it.. tty=`cat /proc/cmdline|sed -e "s/ /\n/g"|grep console|cut -d '=' -f2|cut -d ',' -f1` if [ -z "tty" ]; then echo `cat /proc/cmdline` "does'nt have console?" else # remove my previous one if it exists rm -f /dev/tty-bd ln -s /dev/$tty /dev/tty-bd echo "/dev/$tty linked to /dev/tty-bd - using as console" fi else echo "cmdline not found - no console?" fi In my inittab: tty-bd::askfirst:-/bin/sh

PandaBoard un-veiled: get even more power with dual core ARM cortex A9 OMAP4!

Image
This year seems to be the year of the hacker community :) TI opened PandaBoard for early adopters today :).. Good details on PandaBoard here . The usual goodies schematics and userguide etc are already up as well.. Some of the stuff that impressed me: HDMI AND DVI options HSUSB hub and Ethernet yaay.. Serial port is a decent serial port and no weird wiring needed ;) Connectors pin compatible to beagle and xm.. :) Did I forget to say you have 1271 onboard wlan?? And lots more.. Just love this Baby.. I run ubuntu at home on my panda (yep, am already part of the PEAP - PandaBoard Early Adopter Program) and working on getting MeeGo up and running as well. Supported in mainline kernel and mainline u-boot as well.. :) fun time ahead with multi core processing ;)

my kernel does'nt boot: the magic of EARLY_PRINTK

I am subscribed to TI's e2e portal and this post peeked my interest. Since sometime in mainline kernel we've had issues with kernel not booting up due to some weird bugs. As a kernel developer, I have screwed up multiple times preventing kernel boot from happening. Typical build results in: ## Booting kernel from Legacy Image at c0700000 ... Image Name: Linux-2.6.32-rc6 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1939152 Bytes = 1.8 MB Load Address: c0008000 Entry Point: c0008000 Verifying Checksum ... OK Loading Kernel Image ... OK OK Starting kernel ... And that's it - no useful messages for the kernel geeks to figure out where the boot sequence crashed, no real debug information at all! So the first question: why the kernel silence? The boot messages can only be printed once you have the serial port enabled. Now, serial port enablement itself could be pretty much later in the kernel boot sequence, if the system crashes(oops/data abort e...

linux on C64 DSP!

Thanks to rkw, heard of this: http://linux-c6x.org/wiki/index.php/Main_Page it is based on 2.6.34 - pretty much closer to .36-rc5 ;) and needs some more work I guess.. mostly, it would be a great thing to get this running on beagleboard ! I cant think why not.. ;)

MeeGo diary notes: Packaging the Das U-boot

My Odyssey into MeeGo packaging continues today with U-boot packaging. Decision on the source First of all for U-boot package I needed to decide which source to use. Since I am no big fan of private repositories (even the ones hosted publicly!), the mainline u-boot was an obvious choice. Thankfully sakoman and rest of the u-boot community have done a great job in making omap3 and omap4 support available in Mainline u-boot . And yep, it does have PandaBoard and obviously beagleboard support as well. RPM saga Since the rule of a lazy programmer is not to invent something someone already has done, spend some time with google searching for readily available RPM packages for u-boot. One of the first things I hit was that our friends at Freescale had done a nify spec packaging for imx processors for packaging u-boot . But, looking closely I was not too impressed, searching a bit more, hit on the openmamba project and the excellent packaging that Silvan Calarco has done for u-boot. Though ...

MeeGo diary notes: getting ready for packaging

Got myself a build.meego.com account and am attempting to start a new package around meego for pandaboard - an OMAP4 based platform. This series of blog posts will hopefully contain my day to day notes for a better lack of word all under the label of MeeGo ;).. Note: the good folks at DeviceVM had already done a MeeGo port to OMAP4 Blaze platform sometime back, my approach is a bit different in getting MeeGo port available in main MeeGo repository itself. Different challenge - mostly of the packaging kind as I am starting to realize ;) I've started my first experience with packaging for MeeGo with trying to put together a package for U-Boot. my lack of previous experience with rpm packaging has me stumped so far :(. On the base level, MeeGo uses rpm packaging - essentially what folks call a spec file . MeeGo folks have added one layering on top with yaml file which is translated by a set of tools called spectacle to translate the yaml to rpm spec file. Spectacle Since I like to...

next gen arm core

Image
Cortex-A15 MPCore - Welcome to the next generation!! update: 20100910: more of the TI story slashgeared !

Public OMAP4 TRM released

TI has released public OMAP4430 TRM and clock tool in the official site today. :).. yaay.. [ WARNING 17 Oct 2012 ]: ALWAYS GO HERE  for the very latest documentation - Thanks to a few people ignoring the "official site" link above TRM gives you indepth insight into what OMAP4 is all about and the clock tool is my favourite tool especially to understand the complex clock framework dependencies on OMAP chips - the released version is custom to TI OMAP4 platform though.. but effective tool if you like to learn/debug/understand the clock framework dependencies -> all the way from the oscillator you use on the board to the clocks you use in the functional block of interest.. originally note from Mythri on Linux OMAP [update: ctt wiki ]

omap4 headsup from slashgear

found this article pretty interesting

how do you start a new year? in style!

it is exciting news and there is no reason for me to do the good old style of a post.. so here it goes: Jason's state of the beagle address (somehow sounds similar to this - no offense intended ofcourse) had the following highlights (or my view how as an engineer I'd have paraphrased): Beagleboard rocks . (and we have awards to prove it too ;) ).. We kinda got screwed by beagle's success initially, but now I think things are better now.. beagleboard is getting an engine change soon - blistering speeds ahead dudes.. 720meg beagles.. get those apps rockin.. Annnndddd..... Yeeeehaaaawww.. beagleboard XM !!!!!! DM3730(dudes in l-o know the diff with OMAP3630).. wow.. more juice under the hood man... mama mia!!! camera, 4 port ehci, usb2ethernet the good ol' lcd and expansion connectors, everything we all cribbed and wanted our fav beagle to have, is there now! Go Go Gerald ;) for those newbies.. go do the training and get rockin faster..(android/angstrom.. whatever ...

OMAPZoom tutorial hour!!

So omapzoom folks have a tutorial hour now, some really cool topics get caught up here.. this week: · Android on OMAP Overview and Resources · DSP Bridge Overview · OpenEmbedded Overview it is a webex (works on most OSes including a linux PC) + teleconf -> large number of access numbers from around the world more information here . the OMAP tutorial hour (including the previous presentations - which by the way explains kernel process from TI) are available here .

Smart Reflex what is it?

Image
Googling around, I found this beautiful article that gives excellent explanation of how Adaptive Voltage behaves in the system. by the way, this is going to be part of my rewrite of smart reflex driver to make the voltage infrastructure a lot more cleaner and easy to use. General flow I am thinking is as follows(will change ofcourse): voltage driver |------------> No SR PMICs implementation thru regulator framework perhaps. \-------> Smart reflex driver |----> PMIC interface (for class 0 devices) |-----------------------------------\ \-----> Voltage processor driver -> Voltage controller driver Ofcourse things might change as I move on with the implementation (I need to think a little more on this), but once I am done, you should be able to see it here

few new things I see on linux-omap kernel community

After a long while of staying off linux-omap, been watching it rather closely recently.. here are some interesting stuff I saw this month: Power Management: Operating points and general PM strategy for handling for various silicons here Silicon Feature support for OMAP3 here New silicon support: OMAP35xx and 36xx support being introduced. Discussion on memory and cache issue here ETM, ETM support here few new PMIC - 6030 and 5031 hints of wl1251 support getting upstream IO_ADDRESS is dead use io_remap like the rest of the world spring cleaning of omap850/730 series and of course a bunch of stuff I have missed posting here such as move to 2.6.32-rc4 by Tony and Kevin, both pushing out patches to mainline etc.....

some interesting posts

High time I "ported" my posts from facebook back here.. so here it goes Some really bad code stories: shared by rob clark - how bad can some code go?? http://thedailywtf.com/Articles/The-Shenanigans-Handler.aspx Aint this cool: http://arstechnica.com/web/news/2009/09/horrifically-bad-software-demos-become-performance-art.ars Techno Curios: Tired of fullspeed, highspeed, lowspeed?? how about superspeed?? tired of acronymns already?? http://www.pcworld.com/article/172757/wheres_usb_30.html Search for my cheap oscilloscope goes on: http://www.micahcarrick.com/06-06-2006/pc-sound-card-oscilloscope-linux.html http://www.fpga4fun.com/digitalscope.html Hacks 'nd bytes: PS3 back with Hulu.. http://www.ypass.net/blog/2009/06/got-a-ps3-want-hulu-back-easy-enough/

timing diagrams

Image
drawtime This is kinda a cool app that runs on ubuntu to draw timing diagrams as follows: Example(from the drawtime website): CS1 = 1, OE = 1, ADDR = X, DATA = Z. CS1 = 0, OE = 0, ADDR = "". OE -tOE> DATA = ""; CS1 -tCS1> DATA; ADDR -tACC> DATA. OE = 1, CS1 = 1, ADDR = X. CS1 -tH> DATA = Z; OE -tH> DATA; ADDR -tH> DATA. and you can now generate all those cool waveforms without having to worry about did you get the lines right etc.. more such cool stuff here

Flashlite and Valgrind for OMAP3!!

Image
Looking through the beagleboard facebook group , Saw two interesting points: Flash Lite 3.1 evaluation version for Beagleboard For all the Beagleboard fans out there, we’ve created an evaluation version of Flash Lite 3. This is a fully functional version of Flash Lite that times out in 3 minutes. It is built on Angstrom Linux distribution and requires X. Please email me if you are looking for more information or are interested in having one. I should mention that OMAP 3530 (ARM Cortex A8) is a powerful CPU and seems to handle graphics as well as video very well." How to build Valgrind for Beagleboard 1) Get Valgrind source code from SVN using revision 9648 and 1888 for VEX svn co -r 9648 svn://svn.valgrind.org/val grind/trunk cd VEX svn update -r 1888 2) Download the patch here http://bugsfiles.kde.org/a ttachment.cgi?id=32348 3) Apply the patch into the source code cd valgrind patch -p1 4) Run autogen.sh to run autotools 5) Configure the source code ./configure --host=arm-angst...

CELF 2009 - France (ELC-Embedded Linux Conference)

here are the sessions in the conference: http://www.embeddedlinuxconference.com/elc_europe09/sessions.html Includes Sascha and my personal fav - u-boot v2 .

And then Finally TI U-Boot tree!!

Finally.... here it is!!! patches for u-boot to be send straight to u-boot mailing list .