?

Log in

[icon] Jamey Sharp
View:Recent Entries.
View:Archive.
View:Friends.
View:Profile.
View:Website (minilop.net).
View:minilop.net. Webcomics list #1. Webcomics list #2. Rockets!. XCB!.
You're looking at the latest 10 entries, after skipping 10 newer ones.
Missed some entries? Then simply jump back 10 entries or forward 10 entries

Security:
Subject:Phones and the people who hate them
Time:03:28 pm

Three years ago I replaced my cell phone with my laptop, using Asterisk and VoicePulse Connect, and I was very pleased. However, I wasn't very good at leaving my softphone running, so my family and friends weren't so pleased, and six months later I was given another cell phone and was practically begged to use it. There is only one event in my life that I'm bitter about, and this is it.

Lesson learned—just like everyone else, I need my phone to be unobtrusive and easy to use. Just because I understand the underlying technology to a greater degree than most people doesn't make me any better equipped to deal with crappy implementations in day-to-day life.

Cell phone manufacturers are beginning to build phones, such as the Nokia 6086, that connect not just to the cell phone network (usually either via GSM or CDMA), but also to the Wi-Fi networks that have become commonplace in homes and businesses all over the world. With the introduction of the GAN (also known as UMA) standard, these so-called dual-mode phones can roam between cell towers and nearby wireless Internet connections, without even dropping in-progress calls. That's a remarkable technical achievement, and even more remarkably, major cell carriers like T-Mobile are embracing the technology. Dual-mode phones are cool, and improve coverage for areas (like my home) where cell phone signals are almost non-existent and dropped calls are common.

When compared with the promises of VoIP technology, however, even the cool dual-mode phones fall short. VoIP can provide advantages such as these that are not found with existing carriers' dual-mode systems:

  • cost savings: Routing calls over the Internet costs much less to end users than routing through traditional phone carriers.
  • innovation/control: Sure, VoIP supports voice mail, caller ID, three-way and conference calling, and other features found in many traditional phone systems. In fact, the open source Asterisk PBX software provides features that are generally found only in high-end, expensive commercial PBX systems, including those widely hated touch-tone menus. But most importantly, people can build innovative new phone services that have never been seen before, and customize our personal and business phone systems to a degree never before possible.
  • integration: I can use the same address for e-mail, IM with Jabber, and phone calls with SIP. When I tell my Jabber client that I'm "busy building rockets", my phone can read that message to people calling me before they leave a voice mail. That voice message can be e-mailed to me as an audio attachment and/or a machine-generated transcript.

For all these reasons, I want a cell phone service provider that doesn't connect my cell phone to the regular phone system, but routes all my calls through my own VoIP Asterisk PBX instead. These days, it looks to me like a MVNO could pull off this trick. Companies like Blueslice Networks offer bridges between VoIP protocols like SIP and telco protocols like SS7 to enable MVNOs to offer "Fixed/Mobile Convergence" services like this. I'm not the only one interested; other commentators are writing about the possibilities open to MVNOs ("Wireless VoIP: Convergence and the Power of the MVNO", Sanjay Jhawar, BridgePort Networks).

With all this attention, why can't I find a MVNO that will just hand off my calls to me? Seems like somebody just needs a bunch of start-up capital and the ability to plug some existing commercially-available hardware together. Has anyone seen a company doing this already?

comments: 2 comments or Leave a comment Share

Security:
Time:11:46 pm
Current Mood:cheerfulcheerful
Hey all,

I dunno if you've heard, but I'm getting married to sahara_beara.

Thought you might like to know.

--Jamey
comments: 2 comments or Leave a comment Share

Tags:,
Security:
Subject:XCB has a happy customer
Time:01:12 am

Peter Hutterer, the author of the Multi-Pointer X (MPX) patches, wanted a new X extension to control MPX. So he wrote one, with the help of XCB's protocol description language. Apparently it really is as easy as we thought it should be, because he didn't need to ask us for help, and in his blog, he wrote: "XCB is great! Didn't really know anything about it till yesterday but I managed to write the client-side for the MPX extension in hardly any time at all. All you have to do is write an XML file and recompile. Whoopee. Three cheers to the XCB guys." And we didn't even pay him to say that.

comments: 1 comment or Leave a comment Share

Tags:
Security:
Subject:OpenOffice can edit XForms?
Time:02:23 pm

OpenOffice.org has a WYSIWYG editor for XForms! squeee!

</fanboy>

I've only wanted tools with XForms support since, uh, 2003...

comments: Leave a comment Share

Tags:, ,
Security:
Subject:XCB 1.0, Xlib 1.1
Time:04:15 am
Current Mood:accomplishedaccomplished

I'm thankful that after five years of work, XCB 1.0 is finally released.

First shalt thou take out the Holy Pin. Then, shalt thou release three. No more, no less. Three shall be the number thou shalt release, and the number of the releasing shall be three. Four shalt thou not release, neither release thou two, excepting that thou then release three. Five is right out. Once the number three, being the third number, be released, then lobbest thou thy Holy Hand Grenade of XCB towards thy foe Xlib, who, being naughty in My sight, shall snuff it.

After three release candidates, the XCB developers proudly lob the release of libxcb 1.0 and xcb-proto 1.0 ...

At the same time, Xlib 1.1 is out too.

It's not pinin', it's passed on! This library is no more! It has ceased to be! It's expired and gone to meet its maker! This is a late library! It's a stiff! Bereft of life, it rests in peace! If you hadn't nailed it to the perch it would be pushing up the daisies! It's rung down the curtain and joined the choir invisible! This is an X-lib!

After two candidate releases, the XCB developers have nailed libX11 1.1 to the perch.

Now, after spending the last 12 straight hours (3pm to 3am) working with Josh pretty much non-stop, we have libx11 1.1-1 packaging updated in the X Strike Force tree and uploaded to Debian experimental. We have to wait for the FTP-masters to manually approve the upload since it introduces some new binary packages into Debian, but they've been really on top of that job lately.

It's probably fair to say this is the biggest project of my life so far. Having made it to this point is immensely gratifying.

comments: 3 comments or Leave a comment Share

Security:
Subject:Thank you, Tom Duff. Thank you for scarring us forever.
Time:10:34 pm
(09:07:11 PM) Josh Triplett: You want to see something scary?
(09:07:20 PM) Jamey Sharp: Um... lemme think... yes.
(09:07:29 PM) Josh Triplett: Remember Duff's Device?
(09:07:39 PM) Jamey Sharp: I'm frightened already, but yes...

switch(sockname->sa_family)
{
  case AF_INET6:
    addr = (char *) &((struct sockaddr_in6 *)sockname)->sin6_addr;
    addrlen = sizeof(((struct sockaddr_in6 *)sockname)->sin6_addr);
    port = ((struct sockaddr_in6 *)sockname)->sin6_port;
    if(!IN6_IS_ADDR_V4MAPPED(addr))
    {
      if(!IN6_IS_ADDR_LOOPBACK(addr))
        family = XCB_FAMILY_INTERNET_6;
      break;
  case AF_INET:
      addr = (char *) &((struct sockaddr_in *)sockname)->sin_addr;
      port = ((struct sockaddr_in *)sockname)->sin_port;
    }
    else /* if v4-mapped, fall through. */
      addr += 12;
    addrlen = sizeof(((struct sockaddr_in *)sockname)->sin_addr);
    if(*(in_addr_t *) addr != htonl(INADDR_LOOPBACK))
      family = XCB_FAMILY_INTERNET;
    break;
}

(09:13:14 PM) Josh Triplett: Oh $DEITY.
(09:13:37 PM) Josh Triplett: Yes, that works.
(09:13:37 PM) Josh Triplett: Ow.
(09:13:47 PM) Josh Triplett: Let's not.
comments: 1 comment or Leave a comment Share

Tags:,
Security:
Subject:Wi-fi PHY in Software... works in hardware!
Time:02:13 am

My 802.11 implementation has, apparently, been working ever since I finished it just over a year ago -- and exceedingly robustly too [1]. I thought noise or some real-world thing confused the receiver, but no:

It's just very slow.

Generating 1MB of samples took 7.7 seconds on my 1.7GHz Pentium M, and since USB 2.0 can do a bit more than 32MBps my code clearly can't keep the bus saturated. Finding and demodulating an 802.11 packet that would be 464 microseconds long at 1Mbps takes 15 seconds.

If you check out and build my current code [2], you'll get a new pair of tools, tx and rx. tx outputs a stream of 16-bit little-endian samples to stdout, with a repeating pre-programmed test pattern: a valid 802.11 packet with a payload of the integers from 0 to 31. rx takes a stream of samples, finds the first 802.11 packet it can decode, and outputs that packet's header and payload.

To test these with hardware, I wrote a trivial GNU Radio program, committed as loopback_file.py. It reads samples from a file and dumps them to the USRP; simultaneously, it reads from the USRP for one second and writes the samples it gets to a file. First I tested this with the FPGA in digital loopback mode, which bypasses the analog path; then I used short SMA loopback cables to test the analog components as well. The analog components mangle the waveform in interesting ways, but nonetheless when the resulting log file is fed back through rx, I get back the correct test pattern.

I have a few next steps in mind, several of which can happen in parallel.

  • Extend the transmitter to arbitrary data payloads.

  • Make my Haskell implementation resemble a sane FPGA-based version. I now have a test environment where I can easily prototype things like using IIR filters instead of FIR, and I'd like to try them with known good code before porting this work to Verilog.

  • Port the Haskell code to Verilog, using a Verilog simulator to read and write files of samples like the tx and rx tools do. Test with the same GNU Radio script.

  • Test over-the-air between two USRPs.

  • Test at 2.4GHz. I have our Flex2400 daughterboard; we also bought quadrature mod/demod and oscillator hardware for this band.

  • Eventually: Implement simultaneous receive/transmit. Receive until data is to be sent, then wait for the channel to be clear and transmit.

  • Eventually: Implement higher-speed modulation schemes, starting with 2Mbps DQPSK.


  1. In addition to the tests we did in May -- http://wiki.cs.pdx.edu/~sdr/Meeting20060523 -- and some experiments with quantizing to 16-bit ints instead of doubles, today I also tried duplicating every sample, effectively cutting the carrier and pseudo-noise frequencies in half. The Costas and code tracking loops still locked, and gave me correct output.

  2. svn co http://svcs.cs.pdx.edu/svn/wifi/trunk/wifi

comments: Leave a comment Share

Security:
Subject:HP supports Debian
Time:09:15 pm

Via John Goerzen: w00t.

comments: Leave a comment Share

Security:
Time:12:23 pm
Well, my grandfather on my dad's side died this morning at about 11:45am Pacific time, so I guess 1:45pm local time in Illinois. His health had been steadily declining for a couple of years, making this unsurprising; though he had a habit of bouncing back repeatedly from serious-seeming illnesses, so we still held a little hope this time. He was apparently surrounded by many family members today as there was warning several hours in advance.

I'd appreciate your thoughts, and prayers if that suits you, for my father especially. He's having a rough time.
comments: Leave a comment Share

Security:
Subject:Wee Goal
Time:11:04 am

People who might actually read this journal know that sahara_beara, her dad, and I all spent a month in the San Juan and Canadian Gulf Islands recently. Of the many stories I could tell from that trip, this small one turns out to be first.

Mid-way through the trip, Sarah and I traded our space on the boat with her mom and sister for a few days. When we rejoined them in Sidney, BC, the five of us took a twisting drive around Vancouver Island to the Shipyard Restaurant and Pub at the Maple Bay Marina. Very good food, and after dinner the three of us "kids" enjoyed the swingset and small gardens on the grounds; but that's not the point of this story.

The urinal in the men's restroom in the pub has inside it a small cage with a little ball swinging free from it. I thought this was hilarious: I figured it was a way to get guys to, er, aim. It worked for me.

Several weeks later while reading about something completely unrelated, I saw a link to the Wee Goal, which looks almost exactly like what I saw in that pub. Sure enough: "The ball dangles tantalizingly from the cross bar of the Wee Goal. This is irresistible to the male of the species." (It's so true!) "The good news being that the new found focus on aiming reduces spillage, making the job of cleaning a lot less challenging."

A different approach to the same idea was apparently tried with great success in Amsterdam.

comments: 1 comment or Leave a comment Share

[icon] Jamey Sharp
View:Recent Entries.
View:Archive.
View:Friends.
View:Profile.
View:Website (minilop.net).
View:minilop.net. Webcomics list #1. Webcomics list #2. Rockets!. XCB!.
You're looking at the latest 10 entries, after skipping 10 newer ones.
Missed some entries? Then simply jump back 10 entries or forward 10 entries