USB boot issues on a Soekris net6501-70

After 5 years of great service it was time to replace my Soekris net5501-70 by a new net6501-70.

I tried to install Ubuntu 14.04 via USB, but the Soekris wouldn’t boot from my Kingston Datatraveler USB stick.

It seems the Soekris is rather picky on the USB stick. This is what you don’t want to see:

comBIOS ver. 1.41c  20121115  Copyright (C) 2000-2011 Soekris Engineering.

net6501

2048 Mbyte Memory                        CPU Atom E6xx 1600 Mhz 


SATA AHCI BIOS ver. 0.61 20121115  Copyright (C) 2003-2011 Intel Corporation

Controller Bus#02, Device#06, Function#00: 02 Ports, 02 Devices
  Port-00: Hard Disk, INTEL SSDMCEAC060B3            
  Port-01: Hard Disk, WDC WD10JPVX-80JC3T0           

Soekris USB Expansion ROM ver. 1.01  20111203

82: USB 01                          Xlt -2-32   Mbyte

At 82 you see the USB stick isn’t properly discovered. This is what it should look like:

Soekris USB Expansion ROM ver. 1.01  20111203

82: USB 01  General UDisk           Xlt 994-255-63  7988 Mbyte

That shows t he USB stick is detected properly and you can now install Ubuntu! Simply dd a ISO to the USB stick.

Calculating RADOS objects for RBD images

Ceph’s RBD (RADOS Block Device) is just a thin wrapper on top of RADOS, the object store of Ceph.

It stripes (by default) over 4MB objects in RADOS. It’s very simple to calculate which RADOS object corresponds with which sector on your RBD image/block device.

First you have to find out the block device’s object prefix name and the stripe size:

ceph@daisy:~$ sudo rbd info test
rbd image 'test':
	size 128 MB in 32 objects
	order 22 (4096 KB objects)
	block_name_prefix: rb.0.1066.2ae8944a
	format: 1
ceph@daisy:~$

In this case the stripe size is 4MB (order 2^22) and the object name prefix is rb.0.1066.2ae8944a

With one line of Perl we can calculate the object name in RADOS:

perl -e 'printf "BLOCK_NAME_PREFIX.%012x\n", ((SECTOR_OFFSET * 512) / (4 * 1024 * 1024))'

Let’s say that we want the object for sector 1 of our block device:

perl -e 'printf "rb.0.1066.2ae8944a.%012x\n", ((0 * 512) / (4 * 1024 * 1024))'

This tells us that we need to fetch object rb.0.1066.2ae8944a.000000000000 from RADOS. This can be done using the ‘rados’ command:

sudo rados -p rbd get rb.0.1066.2ae8944a.000000000000 rb.0.1066.2ae8944a.000000000000

Voila, you just fetched 4MB of your drive. Might be useful if you want to do some data recovery or such.

Filesystems on USB devices for Tesla Model S

I’ve seen various posts from users on forums asking how you should format your USB devices for usage in your Tesla Model S.

It all depends on the filesystem you are using. This is what I found out:

Working filesystems:

Not Working filesystems:

The Model S is running a modified version of Linux and it seem that it supports all the filesystems which are supported by the Linux kernel natively. I haven’t tested all filesystems, but it probably supports most filesystems available in the kernel.

For large USB devices I recommend using EXT4 and you can access EXT filesystems under Windows using Ext2Fsd.

Installing the socket of my Open EVSE

While the shed in my backyard is still under constructing I started installing the Type 2 socket on the outer wall on the side of my parking spot.

For my EVSE I’m using the Open EVSE project. Although we use a different connector in Europe, the signaling is the same as with the J1772 connector. One other advantage is that the European connector has support for 3-phase power.

My shed has a outer and inner wall with the main supports in between them, I’m trying to run most cabling inside the wall for the aesthetics. For the socket it was also the easiest way.

A couple of pictures of what I did so far (still took me 5 hours though! Those stiff cables don’t make it any easier!).

 

 

 

This is the Type 2 socket for installation in a wall. This picture is without the interlocking actuator. The actuator is used for locking the connector in the socket while charging. It’s to prevent you from taking out a connector which might be carrying 22kW of power, that would give some fireworks!

 

 

 

 

 

 

 

This is the socket with the actuator installed on top of it. It’s a very simple 12V motor which pushes a pin into the socket and locking the connector in place.

I haven’t found a way yet to control this with the Open EVSE project, but I’m positive I’ll find a way to do so.

Locking is done by putting 12V on it for 300ms and unlocking is done by simply reversing the poles. Any suggestions how to do this with Open EVSE are welcome!

 

 

 

This now had to be installed in the outer wall of my shed. This wall is 11mm thick while the connector is build for 9mm at max. It took some power tools to get about 4mm off that wall!

 

 

 

This is how it looks on the outer wall after installation. You can see the actual socket still lying there, but the outer cap has been installed.

The socket itself is very well build by Mennekes. Rubbers everywhere to prevent water from coming in, but it also has water drainage output on the bottom. Should somebody plug in a connector full of water the excess water can flow out of the socket.

It’s a pretty expensive socket (EUR 300,00) but they did their job of creating a descent one!

 

 

 

This picture shows the installed socket from the back with the main power lines connected.

WARNING: These cables are NOT energized! The power flow is controlled by the EVSE with a relais. Take note of that should you consider installing your own EVSE!

The PP (Proximity Pilot) and CP (Control Pilot) pins are not connected yet, you however see the CAT6 cable already there. I’m using that cable for the CP and PP pins as well as for controlling the actuator.

The power cable is a 5G6 cable. This means 5 wires of 6mm2 each. My goal is to have this EVSE installation be able to deliver 3-phase 32A (22kW). 4mm2 cabling would maybe have done the job, but safety first! It also means less voltage drop, so more kW to the car!

The flexible PVC hose at the bottom is water drainage from the socket, should water enter the socket it can flow out of the socket through there.

 

 

 

 

This is how it all looks after installation with the actuator installed.

One PVC pipe carries the the main power cable while the other carries the CAT6 cable for controlling the actuator and connecting the PP and CP pin.

The pipes run through the structure towards the main power panel (yet to be installed) where I’ll also install the Open EVSE.

Between the outer and inner wall there will be insulation, but I have to prevent this from making contact with the socket. I still have build something for that around the socket, I want to make sure the insulation doesn’t catch fire for some reason. (Although I don’t know if it actually burns).

It’s better to be safe then sorry in this case. 22kW of power will flow through here, that is something not to be taken lightly, that is some serious amount of power!

 

 

 

If you want to order this socket yourself contact EV-Box (Netherlands), they can help you with that.

These are the parts I ordered (Mennekes part numbers):

  • 30012: Fixing ring with hinged lid IP44
  • 31016: Type 2 socket 32A with actuator
  • 30019: Actuator connector with 3 wires of 1m each

When I finish my EVSE I’ll post a full list of components I used.

Now it’s back to my shed for doing some more installation of other electronics like lighting.

Building my own EVSE

 

While I’m waiting for my Tesla Model S I also bought a new house. In December 6th 2011 I received the keys and ever since I’ve been working on the electrical infrastructure to prepare everything for the 3-phase charging station (EVSE) which should go into the garage.

I modified my fistribution panel to have a dedicated 3x32A connection to my garage where I can install my EVSE. The purpose is not only to charge the future Model S, but also the Roadster of my colleague and other EV’s which might visit me.

But then, which EVSE do you buy? I’ve been looking around and a EVSE capable of 3x32A costs about EUR 2000,00! It’s nothing more then a CFGI, a fuse and a controller, so I figured that could be done for less.

After some searching I found the Open EVSE project. I was sold right away! What’s cooler then building your own EVSE with Open Source software!?

I ordered the Open EVSE kit with the Advanced Power Supply and got it last week. Right now I’m waiting for my 63A relais (I like it beefy) and some other components like the Type 2 socket for in the outer-wall of my garage.


 

 

The Model S won’t fit in the garage, so I’m going to install the Type 2 socket in the outer-wall of the garage. All the EVSE components can be inside, that will make it very clean. Just a Type 2 socket where you plug in your EV and it starts charging! Couldn’t be easier.

 

 

 

 

 

 

To my garage I’m running a 5G6 cable. That’s five wires of 6mm2 each. This cable will be capable of doing 3x32A which should recharge the 85kWh battery in a little bit over 4 hours.

My main fuses are 40A, so when I’m charging with 3x32A I can’t turn on my oven or use my electrical cooking. Open EVSE however supports dynamically changing the current.

In my distribution panel I have a kWh meter with a M-Bus exit over which I can read out the current going through my main fuses. I’ve made a nice web page where I display this information, but the main goal is to have the EVSE read out this data and adjust the current based on what other appliances in my house are using.

This way I’ll never blow my main fuses and I’ll still be able to use 32A at the EVSE when available. Something like my little smart grid!

As I’m still waiting for a couple of components I’m not going to post anything yet about which I’m using. I promise, I’ll add a Wiki on the Open EVSE page about how I build my 3-phase EVSE with Open EVSE!

That’s it for now, keep tuned for more information!

Now it’s back to waiting… Not only for the components, but also for the Model S!

Magento one page checkout keeps redirecting back to the shopping cart

A few friends of mine run a Magento webshop (1.3) and they had the problem that customers would be redirected back to the shopping cart after filling in their personal information.

I tried the same, but my order would go through. I was kind of lost, why did it always work for me but it wouldn’t for other customers?

After some hours of searching I tried to enter my Gmail address instead of my personal address and that failed. I got redirected back as well.

A report showed up in var/report with a warning from the Zend Framework core saying that the gmail address could not be validated.

Some Googling brought me to the magento forums.

The bug is indeed in lib/Zend/Validate/Hostname.php on line 329

Replace:

if (Zend_Loader::isReadable($classFile)) { 

With:

if (file_exists($classFile) && Zend_Loader::isReadable($classFile)) { 

And you should be up and running again!

I haven’t debugged this further to find out what the root cause is, but I’d thought I’d share my solution.

My first post

This is just another personal blog on the big, big, big internet! I work as CTO at PCextreme B.V. and i will be posting a lot about my daily work.

Just like any other system administrator i run into problems i have to fix or some really undocumented software. Just like all other sysadmins i get a lot of information from various blogposts, so i thought, why not help other people by posting my information?

I’ll try to post as much as i can in english, but sometimes when the post is for dutch people only, i’ll make a post in dutch.

But most of my posts will be about Ubuntu Linux, KVM (Kernel Virtual Machine), iSCSI, DRBD, Apache, etc, etc. I’ll not try to post any information that can be found in a howto or documentation.

I hope i’ll be able to help some sysadmins in trouble!