31 Jul 2010

feedLXer Linux News

This week at LWN: Adding periods to SCHED_DEADLINE

The Linux scheduler, in both the mainline and realtime versions, provides a couple of scheduling classes for realtime tasks. These classes implement the classic POSIX priority-based semantics, wherein the highest-priority runnable task is guaranteed to have access to the CPU. While this scheduler works as advertised, priority-based scheduling has a number of problems and has not been the focus of realtime research for some time. Cool schedulers in this century are based on deadlines instead. Linux does not yet have a deadline scheduler, though there is one in the works. A recent discussion on implementing the full deadline model has shown, once again, just how complex it can be to get deadline scheduling right in the real world.

31 Jul 2010 2:13pm GMT

5 of the Best Free Linux Educational Music Software

Music education is a field of study connected with the learning and teaching of music. Music is an essential part of the fabric of our society, and the intrinsic value of music is widely recognized. Human culture uses music to carry forward its ideas and ideals.

31 Jul 2010 1:16pm GMT

Mozilla Employee Hacks into Black Hat Video Stream

The Black Hat security conference attracts the creme de la creme of the security industry. This year the organizers even offered a paid live stream for those unable to make the trip to Vegas. Called Black Hat Uplink, the service carried a $395 price tag. But as security expert Michael Coates found out, the price could be waived entirely, ...

31 Jul 2010 12:19pm GMT

Mobile Linux software pioneer goes all out for Android

Japanese mobile Linux software firm Access announced a major push toward Android, joining the Open Handset Alliance (OHA), and releasing a free "Graffiti" handwriting recognition app for Android, among other developments. Meanwhile, Access' IP Infusion subsidiary has added MPLS-Transport Profile support to its ZebOS Network Platform software, says the company.

31 Jul 2010 11:03am GMT

Use your Android Phone as a Wireless Hotspot (Rooted Phones Only)

We have recently covered how to use your Android phone to access the internet on your computer. This process is known as tethering. By connecting your phone, via a USB cable, to your computer you are able to use the phone's data connection to browse the web on your computer. In places where there aren't any wireless hotspots, tethering is incredibly useful.

31 Jul 2010 10:06am GMT

opentaps Open Source ERP + CRM Quarterly Update

In this quarterly update, the project manager of opentaps Open Source ERP + CRM discusses recent changes to make opentaps easier to set up, configure, and customize.

31 Jul 2010 9:09am GMT

GNOME Census: Who writes GNOME?

Nearly Consulting, which specialises in community relations and free software strategy, has published the results of its GNOME Census. According to Nearly Consulting founder Dave Neary, the census report analyses how developers participate in the GNOME project and looks for patterns within the project itself.

31 Jul 2010 8:11am GMT

Ubuntu Empire Strikes Back

The old "Ubuntu doesn't contribute back" argument cropped up again when Dave Neary released a report of the talk he gave at GUADEC on the contributions made to the GNOME desktop environment. He found that Red Hat and Novell contributed the most and that Ubuntu and Mandriva (primarily a KDE distribution) was among the lowest. A firestorm of debate ensued and Shuttleworth was accused of name calling and guilt to try to win the argument.

31 Jul 2010 7:14am GMT

NVIDIA's Dead Open-Source Driver Gets Updated

Back in March an announcement came out of NVIDIA as they were getting ready to launch the GeForce GTX 400 "Fermi" graphics cards that they would be dropping support for the xf86-video-nv driver. The xf86-video-nv driver really didn't provide much of a feature set and was far behind the Nouveau KMS and Gallium3D drivers even though these were reverse-engineered by the open-source, so NVIDIA announced they would be discontinuing this open-source DDX driver and advised its customers to just use the VESA driver until they are able to download and install NVIDIA's proprietary Linux graphics driver. However, today they have decided to release an updated driver.

31 Jul 2010 6:17am GMT

feedLinux Today

Desktop Summit 2011 Announced

KDE.news: "GNOME and KDE are teaming up again to host the 2011 Desktop Summit in Berlin, Germany. Due to the success of the 2009 Desktop Summit the projects will co-locate GUADEC and Akademy once again in August, 2011 for the largest free software desktop event ever."

31 Jul 2010 6:04am GMT

feedLXer Linux News

YAFFS2: Yet Another Flash File System

As Linux has become more widely used in embedded systems, the number of file systems which work directly with the flash storage (i.e. via MTD device as opposed to some block device hardware emulation layer such as the one present on most DiskOnKey devices) has grew substantially.

31 Jul 2010 5:20am GMT

Ubuntu, the Bad Selfish Linux

In my grumpier moments their relentlessly positive, cult-like Kumbaya-or-else approach makes me want to turn the hose on them. But I don't remember them attacking anyone else the way they've been attacked.

31 Jul 2010 3:26am GMT

Setting Up OpenVPN on a DD-WRT Router, Part 2

This is the second installment of a two-part series on setting up the OpenVPN server on DD-WRT router firmware. This is a great way to set up secure connections to your network for road-warriors or to remotely connect offices. This a cost-effective solution can support a dozen or two VPN users. In Part 1, we uploaded the DD-WRT firmware to the router, changed the router's IP and subnet for compatibly reasons, and created the SSL certificates for the OpenVPN server and clients.

31 Jul 2010 2:35am GMT

feedLinux Today

Setting Up OpenVPN on a DD-WRT Router, Part 2

Serverwatch: "This is the second installment of a two-part series on setting up the OpenVPN server on DD-WRT router firmware. This is a great way to set up secure connections to your network for road-warriors or to remotely connect offices."

31 Jul 2010 2:04am GMT

feedKernel Planet

Harald Welte: GSM Denial of Service by flooding BTS with RACH requests

At Blackhat US 2010, there was a Talk that (among other things) apparently included the subject of a RACH DoS on GSM base stations, implemented using my Layer1 of the OsmocomBB software.

As some news sites are covering this as "news": This vulnerability has been long known in the field and was - to the best of my knowledge - first demonstrated to a public audience by Dieter Spaar at the Deepsec 2009 conference in November 2009. You can get his slides.

The difficult part for many years has not been to know about the possibility of this weakness. Anyone who has read the GSM air interface specification will inevitably see that there is a limited number of RACH slots and a limited number of dedicated channels. Once you fill more RACH slots than the cell has dedicated channels, and you keep re-filling them at a higher rate than the cell can expire those dedicated channels, you have a DoS.

So rather, the difficult part was to implement it in practise, as traditionally all GSM baseband chipsets have been extremely closed, just like the very software (firmware) running on them. Today, starting from Q2/2010, it is very easy to do a proof-of-concept implementation, as we have created OsmocomBB: An Open Source baseband firmware.

Dieter Spaar's implementation predates OsmocomBB development by the better part of a year. At that time, he had to resort to binary-patching existing proprietary (binary-only) baseband firmware. So I think people should recognize his effort in doing the first practical implementation of that attack.

I can only hope that the author of the Blackhat presentation has given proper credits and shown that neither OsmocomBB, nor the RACH DoS attack, nor the IMSI DETACH attack he has presented have been discovered or first published by him.

31 Jul 2010 2:00am GMT

feedLXer Linux News

Sum 41 doesn't like Facebook

"Popular Canadian rock band 'Sum 41', doesn't like Facebook perhaps for technical and practical reasons, not really political reasons, but it's still awesome."

31 Jul 2010 1:38am GMT

Mapping Startup CloudMade Raises $12.3M

Steve Coast, a cofounder of the Menlo Park, Calif.-based company founded the OpenStreetMap community mapping project in 2004, and CloudMade draws its data from OpenStreetMap. Through application programming interfaces and other tools, CloudMade helps developers take advantage of OpenStreetMap's geographical data to power their own location apps, then takes a share from the apps' advertising revenue.

31 Jul 2010 12:41am GMT

30 Jul 2010

feedLXer Linux News

Open Source Toolchains for Linux Systems Administrators

Two of the most notable trends in systems management are DevOps and the related and partially redundant Agile Operations movement. These initiatives are popular in many Web 2.0 and cloud computing oriented companies like Twitter, Google, Yahoo! and Facebook where the companies' products are highly dependent on IT. Though in reality the same practices are just as well-suited to the IT administrator in the traditional organization with massive infrastructure, unrealistic workloads and businesses that needs to improve efficiency to meet their business goals.

30 Jul 2010 11:44pm GMT

Android Wallpaper Apps Falsely Accused of Stealing Sensitive User Data [FUD]

A recent VentureBeat article put the blogosphere and smartphone industry on its heels when a reported score of wallpaper Android apps were accused of being malicious by mobile security software maker Lookout at a Blackhat 2010 hackers conference. We had a chance to talk with the developer of the wallpaper apps in an exclusive interview, his name is Jackeey Wu.

30 Jul 2010 10:47pm GMT

feedKernel Planet

Pavel Machek: Electrical collar

Repairing electrical dog collar is a lot of fun, especially if you succeed... but it kind of trains you not to succeed. It also raises some ethical issues with testing.

Well, maybe... one of my coworkers asked if it is my new headlamp when he seen that. So perhaps human testing is a possibility.

30 Jul 2010 10:11pm GMT

feedLinux Today

Editor's Note: Ubuntu, the Bad Selfish Linux

In my grumpier moments their relentlessly positive, cult-like Kumbaya-or-else approach makes me want to turn the hose on them. But I don't remember them attacking anyone else the way they've been attacked.

30 Jul 2010 10:04pm GMT

Lockheed Goes Open Source. Blankenhorn Hates It.

OnePeople: "I was really pleased to read the announcement that Lockheed Martin's social networking platform, EurekaStreams, was released as an open source project today. Lockheed is a very conservative company, and while they're happy to use open source internally and on projects for their customers, this is their first experiment with actually running a project themselves."

30 Jul 2010 9:34pm GMT

GNOME Census report now available as free download

Neary Consulting: "I was delighted to see that the GNOME Census presentation I gave yesterday at GUADEC has gotten a lot of attention. And I'm pleased to announce a change of plan from what I presented yesterday: The report is now available under a Creative Commons license."

30 Jul 2010 9:04pm GMT

Adding periods to SCHED_DEADLINE

LWN.net: "The Linux scheduler, in both the mainline and realtime versions, provides a couple of scheduling classes for realtime tasks. These classes implement the classic POSIX priority-based semantics, wherein the highest-priority runnable task is guaranteed to have access to the CPU."

30 Jul 2010 8:34pm GMT

Speeding up Ruby on Rails

IBM Developerworks "Ruby on Rails, a popular Web development framework based on the Ruby programming language, makes it easy to access your database, but it does not always do so efficiently. Learn more about common performance problems with Rails and discover how you can fix them."

30 Jul 2010 8:04pm GMT

EVO 4G's Froyo features detailed in pictures, car dock coming in September?

Engadget: "We're not far from seeing this big update in the flesh, but in the meanwhile, EVO 4G owners (and fans) might be interested to take a closer look at the features they'll be getting once it arrives."

30 Jul 2010 7:34pm GMT

OpenGL 4.1 Released

Linux Pro Magazine: "The Khronos Group announced that finalizing the OpenGL 4.1 specifications had been completed and that its release would be immediate. "

30 Jul 2010 7:04pm GMT

Where do you find Linux?

Linux Journal: "Looking through my home for Linux systems I just realized that it is everywhere. First of all, I find it on my computers - from servers to laptop. That is the obvious place though. I wonder, where else can I find Linux running?"

30 Jul 2010 6:34pm GMT

Richard Stallman answers your top 25 questions.

Reddit: "1. corevette: If you could have one proprietary package/software released as Free Software, which would it be and why?"

30 Jul 2010 6:04pm GMT

Open games with closed content

Examiner: "Some of the games mentioned in this column, in the past as well as in the future, are licensed such that the game itself is under the GPL or a similarly free license, but the content is not."

30 Jul 2010 5:34pm GMT

Dell release OpenManage Server Administrator for Ubuntu

The H Open: "Dell has announced the release of its proprietary OpenManage Server Administrator (OMSA) 6.3 for Ubuntu 9.10 or later."

30 Jul 2010 5:04pm GMT

Ten outstanding cross-platform apps

ZDNet: "Organisations and individuals have to operate across many platforms these days. So we all need apps that can function reliably regardless of operating system, says Jack Wallen."

30 Jul 2010 4:34pm GMT

Tech Comics: "Intellectual Property Infringement"

Tech Comics: "People in all walks of life run into problems with IP infringement"

30 Jul 2010 4:04pm GMT

feedKernel Planet

David Woodhouse: 30 Jul 2010

Got bored of having to run 'make install' when hacking on Evolution, partly because libtool insanity makes it take too long - as for some reason it relinks everything as it installs it. Perhaps that was needed for FORTRAN77 programs on OSF/1, but it isn't needed on my modern Linux system. I hate libtool. But even without that, re-running 'make install' every time you change a line of code is a pain.

For a while I took to manually symlinking the libraries and executables I was working on, from my build directory into their installed locations. But I kept missing some out and that was a pain too.

My current solution, which excited mbarnes sufficiently that I felt I ought to share it more widely, is to re-run autogen.sh with the --enable-fast-install argument, then build it and run 'make INSTALL=install_symlink.sh install'. Then all files get installed as symlinks instead of being copied, and all I have to do is hack code, type 'make', and run evolution again.

The script is a dirty hack and there are much better ways to do it - some of which would even cope with filenames that have spaces in. But it works for me, and makes Evolution hacking a little easier.

30 Jul 2010 3:03pm GMT

Harald Welte: A real-world practical A5/1 attack using airprobe and Kraken

At Blackhat USA 2010, Karsten Nohl has been presenting on a practical real-world A5/1 cracking attack. For recent years, Karsten, myself and others have been speaking at various opportunities, indicating that a practical attack using readily-available information and tools from the Internet is very possible, and that it is only a matter of time for somebody actually does it.

While Karsten has focused on the actual cryptographic attack, I've been putting in some time in projects like airprobe (a GSM receiver/decoder).

Now finally, a team of friends at the new Security Research Labs (founded by Karsten) in Berlin has put the pieces of the puzzle together.

Airprobe has been extended to fully support decoding of TCH/F (FACCH, SACCH and traffic), as well as SDCCH/SACCH control channels, and to specify the timeslot and physical channel configuration from the command line. Using this, you can

The external program to recover the A5/1 ciphering key is called Kraken and is also available from the SRLabs website.

So what are the limitations? Well, so far this only works on non-hopping cells with a single ARFCN. The limitations are those of the receiver hardware (and SDR software), and not really limitations of the airprobe GSM decoder or the actual software tools.

In the past I would have assumed that non-hopping and/or single-ARFCN cells are rare, but in fact we can find them even inside a big city like Berlin, from at least two of the four German GSM operators. So that's why this attack is very practical, no matter what the GSMA might say.

30 Jul 2010 2:00am GMT

Dave Jones: SELinux on low memory systems.

My router is a pretty underpowered machine. It has 512MB of RAM, and its 'disk' is a 2GB flash card on a CF to ATA adaptor (read as: really slow). But given its job is just routing packets 99% of the time, neither of these deficiencies are an issue.

Asides from one problem. Every time I did a yum update that pulled in an selinux policy update, it would consistently exhaust all the ram in the machine. I filed a bug on this, and as usual, Dan Walsh dropped some selinux knowledge that I had no idea about.

You can customize the bzip block size and "small" flag via
/etc/selinux/semanage.conf. After applying you can add entries like these to
your /etc/selinux/semanage.conf to trade off memory vs disk space (block size)
and to trade off memory vs runtime (small):

bzip-blocksize=4
bzip-small=true

You can also disable bzip compression altogether for your module store
via:
bzip-blocksize=0

Since I put that first tweak in place, it's survived several policy updates without a hiccup.

SELinux on low memory systems. is a post from: codemonkey.org.uk

No related posts.

30 Jul 2010 1:15am GMT

29 Jul 2010

feedKernel Planet

Matthew Garrett: Kmart Android tablets and the GPL

The Augen Android tablet being sold in Kmart stores at the moment is (shockingly) running a 2.6.29 kernel and Android 2.1 on top of that. It's also (shockingly) currently impossible to get hold of the source code for the kernel - Augen (whose corporate address is a small unit in Florida) say that the software comes installed on the units by the OEM and they don't have any access to the source either. This isn't an excuse, of course, and they say that they hope to have it on their website within the next few days - but even so, it seems that the Android device GPL violation trend is still on course. It'll be interesting to see what the long-term outcome of this kind of violation is, especially with these devices increasingly being sold by mainstream stores.

29 Jul 2010 9:51pm GMT

Harald Welte: I'm still alive ;)

In case you're wondering why there is such a long period with no updates: I've been travelling over the last week and barely had sufficient time to follow my e-mail and get the most high-priority work done. Hope to update the blog soon.

29 Jul 2010 2:00am GMT

Eric Sandeen: First month of solar

First month solar

First month graph of solar power

The solar array was turned on for real 30 days ago; in that time, it's produced 389 kWh of energy, which covered 96% of our usage for the month. I'm pretty pleased with this! As compared to household use, it was:

So, we used a mere 15kWh more than we made. I blame it on my niece's baking in the electric oven ;) (and the need to run the dehumidifier a few days; it was very rainy). 404kWh for the month was actually a fair bit higher than the last several months; the other big hitter was running the fans a lot due to the heat.

In terms of daily output, we saw:

What I really miss now, though, is the whole-house energy monitoring that I had; we climbed in usage last month, and I can point to some causes, but I'm flying blind now. I'll have to break down and buy a Ted 5000 if I don't manage to put together my own monitor with CTs soon.

29 Jul 2010 1:31am GMT

28 Jul 2010

feedKernel Planet

David Woodhouse: 28 Jul 2010

Things I hate today include:

It's almost as if it's a conspiracy - especially between the latter two.

I really need to get myself an N900 and start using maemo-mapper again. Every time I try to use non-free software, it hurts.

28 Jul 2010 8:08am GMT

27 Jul 2010

feedKernel Planet

Evgeniy Polyakov: First low-level file storage libeblob release

libeblob is a low-level IO library which stores data in huge blob files appending records one after another.

I implemented all missing functionality, added comments and README, and rolled out the first version: 0.0.1

Here is a short changelog:

libeblob can be downloaded from git tree ($ git clone http://www.ioremap.net/git/eblob.git/) or archive.

27 Jul 2010 6:51pm GMT

26 Jul 2010

feedKernel Planet

Evgeniy Polyakov: Low-level data storage introduction: libeblob

Elliptics network is a very modular key/value (distributed hash table) storage. Among others it allows to build pluggable low-level IO backends - those entities which store data.

Currently elliptics network supports following IO backends:

And now I added append-only blob storage - libeblob.

Following features are already supported:

TODO list includes:

Elliptics network uses it as one of its low-level IO backends. Numbers I posted (1, 2, 3) also highlight its advantages.

But during elliptics network integration with libeblob I found how unoptimal transaction history log was implemented in the storage (and maybe found an answer why monsters like Cassandra do not support it at all). Maybe its time to rethink and reinvent it though...

Anyway, there is a set of features I will create to complete this implementation as well as new elliptics network release (with C++ and Python bindings and new IO backend).
Stay tuned!

26 Jul 2010 11:13pm GMT

25 Jul 2010

feedKernel Planet

Pavel Machek: TI Chronos: my 0wn watch

Thanks for all the helpful comments. I got msp-gcc working in chroot, and can now update firmware in my watch. 0wn3r3D!

25 Jul 2010 5:14pm GMT

24 Jul 2010

feedKernel Planet

Rusty Russell: On Barriers To Entry

My philosophy for Free/Open Source Software comes down to this: that others can take what I do and do something awesome with it. Since I don't know what you'll need, I hand you every capability I have to get you started. Others granted me that very power to get where I am, so I seek to increment that.

It's not always simple to do: sometimes you build it, and nobody comes. My experience is that clear code, convenient install, documentation and useful functionality all help. An encouraging welcome helps even more, as does getting the software out in front of people. It's all about avoiding or lowering barriers.

We accept some barriers to modification which are reasonable: if you modify the software, I don't have to support it. If I make you sign a support deal which says I won't support the software (even unmodified versions) if you modify or redistribute the software, that's not reasonable. If you get fired for publishing pre-release modified copyleft source code, that's reasonable. If you get fired for publishing post-release, that's not.

The hardware and electricity costs are barriers, but they're undiscriminating and reasonable, so we accept them. Even the GPL explicitly allows you to charge for costs to make a copy. The software cost of the system is also explicitly allowed as a barrier. The software costs of the build environment are also accepted barriers (though historic for most of us): again even the GPL doesn't require your software to be buildable with freely available tools.

As this shows, your choice of licensing is among your arsenal in keeping barriers low for co-hackers (who are not necessarily contributors!). I believe copyright gives too much power to the copyright holder, but as copyright is so hard to unmake, I favor the GPL. It tries to use legal power to meet the aims in the first paragraph: to force you to hand onwards all the pieces I handed to you. It's also well understood by people and that common understanding gels a community.

Yet, as I alluded at the top, there are a realm of barriers which licenses don't even try to address: the code could be an unmodifiable tangle, the documentation awful, the installation awkward, or the trademarks invasive. A license can't make coders welcome newcomers, be friendly to upstream, responsive to bugs, write useful code or speak english.

The spectrum of barriers goes roughly from "that's cool" through "I'm not so comfortable with that" to "that's not Free/Open Source". It's entirely up to your definition of reasonableness; only in the simplest cases will that be the same point at which the license is violated, even if that license is explicitly drafted to defend that freeness!

So, don't start with an analysis of license clauses. Start with "is that OK?". Is there a fundamental or only a cosmetic problem? If it's not OK, ask "does it matter?". Is it effecting many people, is it setting a bad example, is it harming the project's future, is it causing consternation among existing developers? If it is, then it's time to look at the license to see if you can do anything. Remember that the license is merely a piece of text. It can't stop anything, it can only give you leverage to do so. It certainly can't make using the law easy or convenient, or even worthwhile pursuing.

To close, I will leave the last word to Kim Weatherall, who once told me: "if you're spending your time on legal issues, you're doing it wrong".

24 Jul 2010 3:00am GMT

23 Jul 2010

feedKernel Planet

Matthew Garrett: Meego kernel watch

sgx535 drivers in today's Meego kernel tree: 3 (GMA600, CE4100, N900)
sgx535 drivers submitted upstream: 1 (Tungsten GMA500 driver, submitted March 2009, rejected due to significant chunks of functionality there purely to support closed userspace)

To be fair, the rest of the Moorestown support code seems to be shaping up fairly nicely. But the lack of a coherent story about what graphics support is going to look like isn't hugely reassuring.

Update:

The Meego kernel tree isn't really a fair comparison here - I should be talking about the Intel MID tree. That's only got the GMA600 and CE4100 drivers at the moment, and I'm told that there's consolidation work going on there.

23 Jul 2010 7:22pm GMT

21 Jul 2010

feedKernel Planet

Evgeniy Polyakov: Elliptics python

I extended C++ and Python bindings for elliptics library, although python part was a little bit messy at first.

Python is massively ... single-threaded language: GIL is a tricky global lock monster, which does not easily allow to implement not only threads but also async communications. Of course python has threads, but they are internal entities which can not be worked with from the outside system threads.

Contrary elliptics network library is a multi-threaded application, and the main problem related to python was its async completion notifications. When transaction is finished or being processed, remote side can send multiple replies about its state (like chunks of data being read for exampl), which are processed in different thread than original sending one.

Python does not expect itself to be interrupted by those callbacks (even if we properly wrap them into python classes). But still we can (or it can be called a hack) invoke async python callbacks from C/C++ code and external threads.

Python may have multiple execution threads, or states, and at startup we have to select the one, which will be used to invoke our C++ callbacks. In older python versions it took quite a bit of efforts: stack selection, saving it somewhere in private data, then switch to/from it and so on. In newer python versions it is just as simple as calling PyEval_InitThreads(). Python thread which called it first will be selected as the one to dispatch exernal callbacks. Then just doing

PyGILState_STATE st = PyGILState_Ensure();
this->get_override("some_virtual_callback_invoked_from_cpp")(its, data);
PyGILState_Release(st);

will schedule C++ callback invocation. It will take care about thread state and GIL.

And when I managed to finally implement all wrappers and helpers for async bidirectional C++-to-Python communication, I dropped its support. Just because it is much simpler to read/write data using blocking calls, which is I believe the most common Python programming model.

That's how this works in python now:

#!/usr/bin/python

from libelliptics_python import *
from array import *
import sys

id = array('B')
for x in xrange(0, 20) :
        id.append(x + 1)

trans = array('B')
for x in xrange(0, 20) :
        trans.append(1)

try:
        log = elliptics_log_file("/dev/stderr", 15)
        n = elliptics_node_python(id.buffer_info()[0], log)

        t = elliptics_transform_openssl("sha1")

        n.add_transform(t)
        # weird thing happens if I write n.add_transform(elliptics_transform_openssl("sha1"))
        # we crash somewhere inside c++ binding, probably because I implemented lazy
        # reference counting model (i.e. not at all :)
        # thus object MUST live after this function is completed
        # this should be fixed of course with proper copy constructors
        # the same applies to logger actually

        n.add_remote("devfs8", 1025)

        #n.write_file(trans.buffer_info()[0], "/tmp/test_file", 0, 0, 0)
        #n.read_file(trans.buffer_info()[0], "/tmp/test_file.read", 0, 0)

        data = array('B', "1234567890")
        n.write_data(trans.buffer_info()[0], data.buffer_info()[0], 0, data.buffer_info()[1])

        read = array('B')
        for x in xrange(0, len(data)) : read.append(0)

        n.read_data(trans.buffer_info()[0], read.buffer_info()[0], 0, read.buffer_info()[1])

        for x in xrange(0, len(data)) :
                print data[x], " ", read[x]
except:
        print "Ooops, error:", sys.exc_info()[0]

$ ./test.py  # written and read data from example above
49   49
50   50
51   51
52   52
53   53
54   54
55   55
56   56
57   57
48   48

Also finished proper object copy for logger, it will clone logger and when proper methods are implemented one can create own private python-made loggers. But that's details.

To date I consider python bindings as well as C++ ones fully finished. C++ has async callbacks as well as blocking sync IO operations.

21 Jul 2010 9:46pm GMT

19 Jul 2010

feedKernel Planet

Pavel Machek: TI Chronos: so close but so far

So I used Windows machine briefly... and now it should be possible to upgrade firmware over-the-air. That's good, because that should be doable from Control Center... and that runs from Linux.

But I'm now hitting other problem: where to get gcc-msp430 that works under Linux? I got one from TinyOS project, but that will not work with CPU in Chronos. I tried one from tevp.net, but that depends on binutils-msp430... Ideas?

19 Jul 2010 8:45pm GMT