Cananka, the Raspberry Pi HAT: Problems

Illustration

[This the last post in the series.]

Mistakes? I’ve made a few…

The very first one was noticed after I’ve already sent order to OSH Park. For back-powering isolation where 2 A are needed, I used the same footprint as for 100 mA DC-to-DC voltage regulator. There is no chance of getting a part that would support 2 A in such a small package. I’ve replaced it with properly sized 1x1" isolated voltage regulator and contacted OSH Park support. As my original order was not sent to fabrication facility yet, I got it swapped with a new design without any additional cost. OSH Park support rocks!

While waiting for a board, I continued going over the design and thus I’ve noticed I’ve forgotten to pull-up the reset line. Uncaught it would cause chip not to function so respin was definitely needed. Additionally I’ve changed layout of board a a bit alongside making a slightly bigger cuts to allow for official case to carry the board. I find it amusing that HATs made in accordance with official specification don’t fit the official case. :)

What I didn’t catch was that my new DC-to-DC brick needs a bit bigger holes. It was possible to get DC-to-DC converter in the board but with a lot of elbow grease. Definitely not what you would want. I also didn’t notice I had damn pinout backward on one side of the chip. And guess what, since I’ve already sent for revision B to be manufactured, I couldn’t change it before revision C.

I did try to mod-wire the revision A of the board but important traces to cut were under the DC-to-DC brick itself so there was no approaching them - not with tight drill holes I had. Fortunately I was able to jump the missing reset line and thus have a proof of concept all is working well.

Revision B arrived when I was already preparing for next revision due to already mentioned faults and thus I have just populated the “cheap” part of the board. It made no sense to mount $25 DC-to-DC voltage regulator if I know it is not going to work. Revision C did have few other changes to silk-screen and other minor changes. Most notable change, outside of DC-to-DC pinout correction, was changing EEPROM to be write protected when WP jumper was soldered over.

Original suggested EEPROM circuit makes write-protection to be default. This means you need to connect the jumper to write chip and then desolder it later to make it read-only. I find it much easier on me if all chips start with being writable and then you make solder bridge to make them read-only. Additionally, as chip has internal pull-up, this means you save a resistor. :)

As revision C came, all seemed great until I tried power-back circuit - it didn’t work. Short troubleshooting later I’ve noticed my reading of remote on/off functionality was lacking a bit and thus I was missing connection of that pin to ground. With that single change power-back started working perfectly. Of course that meant revision D had to be made.

D? No issues what-so-ever. :)

Isolating Mikrotik LAN Ports

Illustration

For a home project of mine, I have decided on Mikrotik’s hEX PoE lite due to its awesome capability to power other devices.

Outside of PoE, I needed a standard Internet router - WAN on port 1 and LAN on other ports - but with a twist. I wanted to have LAN ports isolated from each other while still being able to access WAN. Something that on almost any wireless box you get as a checkbox turned out to be a actually non-existent.

However, beauty of a bit more manageable and complicated device is that you can define a lot of functionality yourself. For this particular scenario, solution was in adjusting the firewall.

To setup firewall, the easiest way is to connect via WinBox and go into New Terminal. There we can just execute following commands:

/ip firewall filter
add action=accept chain=forward connection-state=established comment="Allow established"  
add action=accept chain=forward connection-state=related comment="Allow related"
add action=accept chain=forward out-interface=ether1 comment="Allow WAN"
add action=drop chain=forward comment="Drop everything else"

First two allow any established and related connection unconditionally. Third one allows anything going out to WAN interface. Packets coming into that interface will have to be either established or related so there is no reason for another accept there. Final rule is to drop all other traffic.

With just these four rules, all LAN ports are isolated while still being capable of Internet acess.

BSOD When Starting VirtualBox

Illustration

Ever since I have upgraded Windows 10 to build 14931, whenever I tried to run VirtualBox, a blue screen crash would happen. Worse still I only had “The system has rebooted without cleanly shutting down first. This error could be caused if the system stopped responding, crashed, or lost power unexpectedly.” in the Event Viewer. As the old joke goes: absolutely correct, but still useless.

To make things even worse, under known issues for the release there was “Oracle VM VirtualBox will crash on launch after upgrading to this build.” So I gave up and tried to install VMware Player. I mean, not all third-party virtualization software can be broken.

Guess what, VMware wouldn’t start either. However, there was no crash but a slightly cryptic message about something called Device Guard and a link to knowledge base article. While my issues didn’t closely match described ones, article did put my sights on Hyper-V.

After going into Turn Windows features on or off and disabling Hyper-V followed by reboot, I could start VirtualBox once more.

I haven’t went into further troubleshooting - it just wasn’t worth it. For one, I do not use Hyper-V on my laptop so turning it off didn’t hurt me. And, as I am running insider builds, I am sure that, by the time this build comes to slow ring, there will be some workaround either on Microsoft or Oracle side. In any case, my problem is solved.

[2016-10-11: Yep, new update 14942 broke VirtualBox again - now even this workaround doesn’t work. Although at least VMWare works with this release.]

Fair Use

Illustration

Well, it was good while it lasted; today I got information from Comcast that they’ll start to enforce 1 TB usage limit starting November 1st.

Explanation given for this is standard “fair use” sermon - those who use more should pay more. Given human notion of fairness and the fact 1 TB is quite high it is easy to agree with their words. However, this is all bullshit. It is just another word for $50 price hike.

You see, in order to keep unlimited bandwidth you just need to add $50 extra to your current $100+ cost. If you don’t and you accidentally go overboard, you pay $200 more. So, for $150 (to take the cheapest plan) you have no worries you might pay $300. It sounds more like a racket than fairness to me - pay me money to prevent something bad happening to you.

If fairness in the compensation for traffic was the primary goal, and Comcast is stating $50 extra would cover unlimited portion, then the fair thing would be to charge those $50 only to users that go over 1 TB. Auto-upgrade them for that month and that’s it. And, while you are at it, if user spends only 100 GB return him $50. I mean, it is only fair that ones that use less pay less.

Guess what, an option to pay less is not in Comcast’s plan. Not there is any option of rollover of “unused” data from previous month. And no, you cannot actually verify Comcast’s usage meter for accuracy. I know that my own router shows difference of 15% as compared to the Comcast’s meter. Guess in which direction. ;)

And yes, this might sound like a bickering when I have a huge 1 TB allocation that I generally don’t reach anyhow. But 100 GB seemed as a huge amount too in the times before Netflix. Considering video goes 4K and that more and more services are up on the Internet, a year or two from now, 1 TB will be easily reachable. Heck, if you backup stuff on the Internet (e.g. SpiderOak), you are essentially one crash away from it.

Of course, by that time, everybody will be on the new unlimited plan, paying $50 of the “protection money”. At some point that plan will have enough people on it that old “limited” plan will be retired. However, some users will use more data then the others so a new limit of 5 TB will be instituted with an option to pay $100 to make it unlimited… History repeating itself at its best.

HamCheck 1.20

Ham Check

I am getting into the age when memory is not what it used to be. That is the only excuse I have for missing 2016 release of Extra Class Ham exam question pool by 3 months.

So, you’ve guessed it, this update includes the latest US amateur radio exam questions for Extra class alongside the unchanged General and Technician pools.

The newly added Extra pool has total of 712 questions. As before, there is a Technician pool consisting of 426 questions and the General Class pool with 462 question.

This program still remains one of the rare with keyboard-only operation and a high-DPI support and you can download the new version here.