cpbotha.net

voices in my head

cpbotha.net random header image

Running mxit in mpowerplayer on Linux (Ubuntu 7.04)

October 21st, 2007 · 7 Comments · tech

I’m peppering this with enough keywords so that other idiots will be able to find this easily. MXit is a mobile-phone based chat system that’s very popular in South Africa (Rugby World Cup champions 2007, thank you very much; want to wine about Cueto’s “try”, then first click here). It is possible to run the MXit Java midlet on a J2ME emulator (am I saying this right?) such as mpowerplayer or microemulator. Of course this works on Windows, even the average 12 year-old MXit user can successfully follow the many guides available online and then brag about his technical prowess online to his “friends”.

Obviously, I had to get this working on Ubuntu Feisty Fawn (7.04), you really don’t have to ask why. And obviously, it Just Didn’t Work(TM). MXit, both versions 3.0.5 and 5.2.x, hang forever at “Registering” or “Logging in”. After much swearing and trying The Usual Solutions(TM), I dusted off my ethereal / wireshark, and also my trusty old tcpdump and set out analysing TCP packet dumps.

I really hate packet analysis, it’s such a pleb thing to do. Oh well, one does one’s best to forget one’s breeding. Temporarily.

It turns out that if you set the maximum TCP receive buffer to 170K (instead of the default 1M on Feisty), everything starts working again. My current hypothesis is that some of the other auto-tuned TCP parameters than rely on the max receive buffer setting, now better accommodate the small MXit packets. For those of you who still don’t understand what all of this means, run the following as root to get MXit working on Feisty:

echo “4096 87380 174760″ > /proc/sys/net/ipv4/tcp_rmem

To make this permanent across boots, check the man page for sysctl.conf or add the line above to your /etc/rc.local.

Let me know in the comments if this is useful. I optimistically estimate that there has to be at least one (1) other person that will run into this problem. Ever.

Related posts:

  1. Another small step on the way to S3 STR
  2. a critical look at ubuntu feisty beta on an hp nc8430 laptop
  3. Python IDE wanted, good, cheap and fast. :)
  4. The Linux-running Entertainment PC that I can’t afford right now
  5. Backport of unison 2.27.57 to Ubuntu 7.10

Tags:

7 Comments so far ↓

  • Hugo

    I’m no longer using mxit, Jabber/GoogleTalk and “fring” does the job for me. However, I find this post useful in inspiring me to try to get J2ME emulation going on my laptop.

    OTOH, right now, I’m more interested in emulating Python for Series60 on my laptop, so that I don’t have to upload scripts and run them on my N70 in order to test them… ;)

  • cpbotha

    Hi there Hugo! How difficult is it to run Python on the Nokia S60 emulator (somewhere on http://www.forum.nokia.com/main/platforms/s60/ ), or is that not the problem?

    I had to stop myself from installing Python on my 6120 the other day. :) What are you doing with Python on your N70?

  • Hugo

    With Python on my N70? Not much, just procrastinating, really. ;) At the moment I’m using it to record stuff… the included sound recorder can only record 1 minute (why?!), the other sound recorders I found so far cost money (ah, so that these can be sold?). Why pay for a sound recorder when less than 50 lines of Python code does the job?

    AMR is far from perfect. The silence-detection is the most irritating thing at the moment: when there’s clean silence between just about every word, it just sounds terrible. It is till okay for hand-transcribing things though. Raw wav takes too much space, and I don’t feel like buying an MMC card that I will only ever use in my phone. (OTOH, if I use wav, I *might* be able to get some speech recognition working? Then I could “pay” for an MMC card with the time I save doing completely manual transcriptions?)

    As I’m just hacking together 50-liners, emacs is all I use at the moment. If my pipe-dreams ever come true (uh, finishing my M, as a first step, *sigh*), I might take a look at the S60 emulator in December or next year.

  • MXit Man

    Oh my word, you legend. Awesome find!

    I submitted a bug report here about this:
    https://bugs.launchpad.net/ubuntu/+bug/173126

    Do you think this can be fixed by something in the application, i.e. Mpowerplayer, flushing the socket or something similar more frequently?

    The windows application to change some tcp settings is http://www.dslreports.com/drtcp
    OR
    http://www.speedguide.net/downloads.php

    Cheers.

  • David

    ” Daniel T Chen wrote 14 hours ago: Is this symptom still reproducible in 8.10 (which uses an accepted-better TCP algorithm)?”
    https://bugs.launchpad.net/ubuntu/+source/procps/+bug/173126/comments/2

  • Buks van Tonder

    I’ve found an alternate solution.
    Download the mpp-sdk “mpowerplayer sdk for java”
    run the command as spesified “java -jar player.jar” this wil open the mpowerplayer.

    Download a jad file from http://www.mxit.co.za/wap

    open the jad file with mpowerplayer and voila.

  • Ralf Kistner

    I’m busy developing a MXit connection manager for Telepathy/Empathy on Linux.

    http://code.google.com/p/telepathy-mixer/

    It is still a while from being called stable, but give it a try if you are desperate.

    You might still have the network issue mentioned in this post – the same fix will work.

Leave a Comment