Tag Archives: za

The worst day I’ve had in a while

Otherwise known as the narrative of 15 Feb 2014. I don’t really know who’ll give a crap, but I just need to get this out of my system.

Having lived in South Africa all my life (thus far), the thing about crime has often come up. And, for the most part, I’ve been pretty damned fortunate to not have had to deal with it at all. Until last night, that is. Which is the worst time it could possibly have hit me at. I’ve been in a bit of a dark spell the last couple of weeks, due to a variety of factors, but things were finally starting to feel a bit better last night. I actually went as far as to comment to someone “I think I’m finally through it all!” around 10~11pm. But hey…apparently it wasn’t quite time yet.

Around 2am (which I guess is technically Sunday?), I left a friend’s house, going homewards via Andiccio 24 (which is a regular habit when I’ve been up all night). I’d been sick since last weekend, too, and was feeling pretty damn drained by this point. After getting my pizza and starting to drive home, somewhere along the route my scooter just failed on me. I don’t know why yet, haven’t exactly had the headspace to look. Sounds electrical-ish, but w/e. And to start the bad, my pizza had fallen onto the ground. This annoyed me, but was just a slight taste of what was to come. At this point, I phone the AA, who give me an estimate of 60 to 90 minutes as pickup time. Now I only live a couple of blocks from where I broke down (albeit uphill), so while I wait for their confirmatory call I start trying to push it as far as I can go. Which isn’t very far, because I’m exhausted as hell. As I got a little bit up the one hill, a white car with two occupants comes driving past, as best as I can tell seeming to be some kind of neighbourhood patrol. And as I mention my difficulties and issues there, the guy claims that he might be able to help me with getting the AA to hurry up. And, hell, I’m tired (had been awake since 05h40 on the Saturday), hungry, stuck in the middle of uselessville at 3am, and I decide to trust the guy. Why not? Not like I ever really do trust strangers. I can’t tell you why I did it.

But I phone the AA up, mention to the callcentre person that this other individual wants to speak to them, and hand my phone over to the guy in the car. After they speak for about 10~15 seconds, I hear the guy mention that he’s with SAPS (which I think is probably illegal to impersonate), and at this point they start driving off, go around the corner, and gone. Now I’ve got no comms. No ETA on getting home. No ability to confirm the pickup. I’m tired, I’m hungry, I’m stressed, and I snap. The last few weeks’ worth of bad just hit me like a ton of bricks dislodged from a cargo carrier, and I am /fucked/. I try to ring a few doorbells, don’t really get anywhere. Finally I see an actual Beagle Security (local patrol crowd) driving past, and after I literally begged the driver, I managed to get home. From where I then started trying to get Prey and such installed on my phone. Which doesn’t help, you need to do it in advance. So I try android remote wipe. Nope, that needs to be set up in advance too. And just a couple of days ago I’d turned off location reporting on my tablet, and forgotten to check if it was account wide. So I couldn’t trace the handset either.

I start pulling out whatever tricks I can try manage. I even try to get my FNB Connect voice thing back up. But I couldn’t find the details saved, and thus couldn’t get any calls done. I need to phone the police. I didn’t even have a plate number for the car. But fuckit, what do you do instead? I post on facebook, asking for help, which is something I do so rarely I don’t even know how to do it. It’s at this point that I ask around, see if anyone has some voip I could use. It’s at this point where some guys over at sonic.net helped me out, and I am extremely thankful for that. The teams who run that place I could solidly count as A+ people. Technically, and for reasons such as this. I manage to phone the police, I get as far as I can manage. I start changing account passwords, dissociating things from my phone, making it as useless as I could possibly hope (ie. no posts showing up when notifications come through, etc). It didn’t have much battery life left, either, so it would’ve died on the people soon afterwards anyway.

But at this point I’ve hit a low. Being without comms is a major hit, for multiple reasons, and being unable to contact (because of this) the one or two people who could’ve actually helped me through it…well, yeah. I hit a low I haven’t hit about since the time I realized I need to cut myself off from my family in totality. I’m not ashamed to say that I cried a bit. I was feeling so utterly helpless in the face of everything, and I just didn’t know what to do.

Positive things! A couple:

  • thank you very much to the person who helped me with the ability to call (I’m finding out if I can name them here)
  • thanks to Tristan for helping me get around in the morning, breakfast (to deal with the fact that I’m starved and getting a migraine), helping get to police, and sitting patiently through multiple stages of trying to get my handset blacklisted (the IMEI shown on the network HLR doesn’t match the IMEI on the box I have)
  • there were a fair handful of people who responded to my FB post (each of you have been noted, and I will make sure to pay you back whenever I can one day)
  • thank you to the people on Shadowfire who let me rage and rant and vent
  • fortunately I had handset insurance from my provider, so this should not make much of a knock on my finances (which was a related fear)

Speculation: maybe…just maaaaybe…the guys in the car were legit. As I said, the battery would’ve died soon. But I don’t feel so. I ran down to the traffic light after they bolted, and I couldn’t see the car by the time I’d gotten there (about 40~50m down the road).

And now it’s Sunday evening. It took a day to get some stuff sorted (prepaid SIM, ability to phone, arranged transport to get to my Monday meeting), and I had the maximum indicated dose of Migril to try counteract my migraine. I still haven’t eaten properly, and don’t feel I can easily. re:hidrat it is, then, for getting myself feeling a slight bit better. My cat is sleeping next to me (she annexed a whole pillow on my couch), there’s good music playing, and I’m clutching my way back to feeling better. Slowly, bit by bit. But this one will hurt for a while.

edit: I know many of these things sound tiny. With perspective, they are. But they added up in just the right set of flavours. Here’s to getting some perspective again, though!

edit 2: did eventually get the scooter back home. The original call with AA had been closed, apparently the guys claimed that they’d done a pickup. I hope to open some kind of case and maybe get my hands on that recording. Or something. I don’t know. But did get home, and after a minor freakout for a while (of not being able to find the right keys to get the scooter movable (steering lock)), all roughly ended up “okay”

Rocket-solid .za DSL setup

After a couple of SOHO router iterations (not all my own, sometimes seen via other people), recurring problems:

  • overheating devices due to bad design
  • crappy stock firmware
  • bugs (that often never get fixed, or updates are never applied)
  • other assorted silly issues, like a 1000-connection session table, or small arp tables, or or or …

Much like the rest of the local linux community, I’d long just done DSL bridging and let a Linux box do the work of Real Internet Connection(tm), but that’s not the easiest pitch for Joe Average Home User. So I found an alternative set of things that works fairly well, and is solid enough for you to fire rockets at it. The recipe is as follows

  • 1x DSL bridge of some kind. Some Broadcom chipsets are excellent
    • I’ve had a hell of a lot of lifetime out of the DSL-2500U
    • if you want cheaper, this Tenda unit
  • 1x Non-shit router
    • A RB750 is pretty good for this. Gets your packets going without too much fancy. Has other benefits too
  • 1x Extra switch, because cheap gigabit is good
    • again, a Tenda unit
    • there are some cheap tp-links and HPs around too that I’ve had before

Cheap, effective, and just slightly annoying on amount of power sockets used. The power used is fairly low, too (we’ve had to test it on another project before, and it’s something like R20/month).

I’ll update the post a bit later with the basic tik config to apply.

In-flight wireless-less

Ah, fantastic news strikes again. From this article:

“The system has been configured to allocate 128 IPs, with 124 IPs for passenger use. However, due to the number of passengers (115) utilising multiple devices (some as high as 2-3 devices) on the plane, more than 3 times the allowed connections were constantly requesting access to the internet,” explained WirelessG CEO Carel van der Merwe.

Now, some quick searching indicates that they’re using tech from Row 44 to do this thing. If it’s just satellite downlink, then I quite don’t get the R3.5 million (~$436k USD given a quick check of the current ZAR/USD) pricetag. If it’s the whole shebang, then I guess Row 44 is making some damn nice licensing fees out of airlines on DHCP leases.

Either way, I find it pretty damn hilarious that they didn’t plan for something like this on a flight for tech journos.

IPConnect And You

The alternative title for this post would be “How your DSL connection actually works (if you’re in South Africa)”, but of course that’s silly long so we won’t go for that. This post is the one that was promised in a recent post, because it’s a subject that is often not entirely understood when being discussed, and I figured I’d rather get it done before I forget about it.

So, first things first: PPPoE. PPPoE is the protocol that’s used to dial up your session to your ISP. Okay, actually, I’ll have to back up a bit further than that. To summarise very shortly from Wikipedia, “Digital subscriber line (DSL) is a family of technologies that provides digital data transmission over the wires of a local telephone network”. The gist of this means “fast internet over your phoneline, while leaving the voice circuit free”. It accomplishes this is by sending specific digital signals over the same line at a higher frequency (this is why POTS filters are used, see more here), and these digital signals are often ethernet frames transported over an ATM circuit. This very last bit isn’t important to the layman reader, except to understand that in the configuration we have in South Africa, it’s not the ideal way to manage a connection.

Now there’s two ways one can normally work with this traffic when you, the customer, dials in. The first is how it currently works: you dial in from your computer, and Telkom “terminates” the session. What “terminates” means in this instance is that their systems are the peer that your communication speaks to (think tin-cans-with-string). The second instance (a scenario called Bitstream) is where your ISP would be the peer for your communication, and they would terminate the session on their LNS (L2TP Network Server). In either case, how this dialing works is by encapsulating a protocol called the Point-to-Point Protocol, or PPP, inside the ethernet frames (think school textbook with your notepapers pushed into the book at all the relevant pages). So effectively the PPP packets carry your actual data, with the ethernet bits being the boat for the river that is the Public Switched Telephone Network, or PSTN.

As mentioned in the previous paragraph, Telkom terminates the PPPoE session here. When you’re dialing in, their AAA servers get an access request for “alex@mydomain.co.za”, look up the AAA servers responsible for “mydomain.co.za” and sends off an access request with the same information, essentially asking “is alex@mydomain.co.za allowed to dial in with this information that was given?”. If your ISPs AAA servers respond “yes”, Telkom’s equipment will go ahead with attempting to set up your connection.

Here’s where it gets sticky. Because it’s Telkom’s network terminating the connection, there isn’t a lot of control that they can give over to the ISP on how to handle customer sessions on their equipment at a national scale, so instead they go for preconfiguring their routers with specific IP pools and routing information. This is why, if you dial from a certain line over and over again, you can quite possibly end up getting the same IP (because the device terminating your connection has a specific, finite set of IPs it could possibly give you). The configuration which Telkom uses for this is designed only around IPv4, and around their equipment “forwarding” your ISP your traffic once it has “de-encapsulated” it. Consequently, for various reasons (technical and otherwise), it is essentially impossible to deliver native IPv6 to an ADSL user in South Africa dialing up with PPPoE. This same configuration is also why all the static IP products in the market require a bit “extra” on top of just a normal dialing process.

The alternative configuration, Bitstream, is one where your ISP would be terminating all traffic, and could give you whatever services they are able to provide (within the constraints of their technical ability). Obviously the latter is the more desired option, and has been requested from Telkom for quite some time now.

Well, that’s it. I’ve tried to not go into an abundance of overly technical details in this post as I felt those could be better served elsewhere, but if there’s any questions or remarks, please do leave a comment so that I could look into it and attempt to answer or clarify.