Archive for the ‘Uncategorized’ Category

The WiFirebox

Saturday, January 24th, 2015

Need WiFi in a Firebox? No problem. You just need a PCIe to miniPCIe adapter, a PCIe flex adapter, and a Wifi card (preferably one that supports AP mode of course).

IMG_0452_small

Now, I made the mistake of trying to do this with the WLE900V5-27 as pictured. It’s a great card if you can get it to work, but barely worth the hassle. The card uses external ground and 5v connections, and it’s massive. The two problems that the card’s size presents are that you need a miniPCIe adapter with enough space around the slot (I used the MP2W), and you have to deal with the huge RF shield on the bottom of the card too. The RF shield means that not only can there not be any components on the board below, but you’ll also have to tape over anything possibly conductive. I used the MP2W adapter, which came with some capacitors which were in the way of the card. Fortunately, they weren’t necessary for the adapter to function so removing them was safe. Unfortunately, I missed a part that needed to be insulated the first time around, so one of the FFC cables let some magic smoke out and I had to switch to the other one. Nothing else was damaged so everything worked fine once I fixed the insulation issue.

On top of that, the card uses MMCX connectors, so you’ll have to get different pigtails as well. As for actually mounting the pigtails/antennas, the easiest way is to take the PCI bracket the adapter comes with, take the pieces that hold the card to the bracket, and bend them so that they’re parallel with the rest of the bracket. Then, you can secure it in place with whatever means necessary.

Using the Firebox Arm/Disarm LED under Linux

Friday, November 14th, 2014

Quick script for controlling the arm/disarm LED, created from the info here. I took a quick stab at trying to make WGXepc run on Linux but didn’t have any luck, so I just created this instead.

#!/bin/sh

lport='dd of=/dev/port seek=1167 bs=1'
fport='dd of=/dev/port seek=1179 bs=1'

steady="\x00"
green="\x13"
red="\x0b"
flash="\x10"
off="\x03"

case $1 in
r|red)
 printf $red | $lport 2>/dev/null
 ;;
g|green)
 printf $green | $lport 2>/dev/null
 ;;
off)
 printf $off | $lport 2>/dev/null
 ;;
steady)
 printf $steady | $fport 2>/dev/null
 ;;
flash)
 printf $flash | $fport 2>/dev/null
 ;;
*)
 echo 'Usage: wgled (red|green|off|steady|flash)'
 ;;
esac

Unfortunately since it’s just a single bidirectional LED, there’s no way to get the green and red on at the same time.

These addresses and values are for the X-Core-e boxes. For other boxes, look in the WGXepc source (available here) to find values and addresses. The value that you printf is the value you want to write, while the seek value for dd is the address, converted to decimal.

Still not sure how to control the disk or expansion LED.

Mini-review: Intel 7260HMW (Updated 2014-11-18)

Wednesday, July 2nd, 2014

I bought this to replace a Wi-fi card in my laptop (Thinkpad X300) since the standard card had flaky Linux support. The 7260HMW is a half-length miniPCIe card with 2xU.FL connectors.

Good:

  • 802.11ac support
  • Good Linux drivers, works out of the box on Debian testing
  • Built-in Bluetooth 4.0
  • Supports AP Mode
  • Low power usage

Bad:

  • General signal strength is slightly on the poor side (happens on both Linux and Win7 so it’s not a driver issue)
  • Only 2 spatial streams supported, only 2 antennae. If you currently have 3/4 spatial stream 802.11n APs, this card could possibly see worse performance than a 3/4 stream client.
  • AP Mode is completely half-assed, only supports 2.4GHz band which means no 802.11ac Also it only supports 1 AP or STA at a time. See the dump below, section “valid interface combinations”.

Other:

  • If your laptop has a Bluetooth LED in addition to Wi-fi like on many Thinkpads, this card won’t interact with it. In fact, having multiple BT cards (this card+builtin BT) can even cause the LED to not even work with the builtin BT if you choose to leave it installed (Easy enough to remove on my X300 but difficult on my W510).
  • The Wi-fi LED will just be on solid, rather than on+blink on activity. Does this on Win7 and Linux, and none of the settings in /sys/class/leds/phy0-led/trigger seem to get the desired behavior. If you want this functionality, you’ll have to write a script to manually toggle the LED (There’s a netdev LED trigger out there, but it was very unstable for me).

Stuff:

Dump of phy info. Note the no-IR flags on the 5GHz frequencies, meaning 5GHz AP mode is not supported.

Using the Sierra MC5725’s GPS on Linux

Sunday, June 15th, 2014

After not being able to get this card’s GPS to do anything, I forgot about it for a while. Now that I’ve had some time, I revisited it and was able to get it working. Read on to see how.

(more…)

Installing OpenWRT on a Firebox X550e

Wednesday, July 17th, 2013

I recently came into possession of a Firebox X550e Core that was thrown out due to a bad power supply. Turns out OpenWRT (or almost any OS for that matter) is pretty easy to install on this thing. Read on for some photos and a how-to.

IMG_0274s

(more…)

An RGB LED for your RSPro

Thursday, August 11th, 2011

As I mentioned in my review, the Routerstation Pro only has a single user-programmable LED. However, it has 7 GPIO lines that can easily be attached to more LEDs. Read on for instructions and pictures.

(more…)

Review: RouterStation Pro + SR71A

Saturday, April 2nd, 2011

After finally deciding to replace an aging WRT54GL, I decided to not get a typical poor-performing home router and go for a more professional product. The RouterStation Pro fit my needs perfectly, with its expandability and performance being far beyond most home routers. Read on for the review and pics.

(more…)

MVpybot stuff

Monday, January 3rd, 2011

Just a few minor fixes, new version should be in SVN.

Major MVPyBot Update

Saturday, August 14th, 2010

The bot now supports “hot reloading.” The bot can now reload itself without losing connection due to a new wrapper.

You need to run ‘mvpybot.py 0’ because start.py is broken now. Substitute the zero with a different server number if you want to connect to a different server.

MVpybot Major Update

Saturday, June 26th, 2010

There is a somewhat-major bot update in the works. The plugins system has been completely redone. Instead of plugin files being used for whatever functions can be found in them, they now have to explicitly register functions. Here is an example, the rewritten ping plugin:

#!/usr/bin/python

def register():
 registerfunction('ping', ping)
 addhelp('ping', help_ping)

def ping():
 outstuff=''
 print "ping called"
 if (len(cmd)<2):
  return('PRIVMSG %s :Incorrect usage. Syntax: ping (4|6) <address>.' %(channel))
 else:
  if cmd[1]=='4' or cmd[1]=='6':
   if cmd[1]=='4':

    output=syscmd(['ping','-c','5','-i','0.2',cmd[2]])
    outsplit=output.split('\n')
    outparts=outsplit[-3:-1]
    for part in outparts:
     outstuff+='PRIVMSG %s :%s\n' %(channel,part) 

   if cmd[1]=='6':

    output=syscmd(['ping6','-c','5','-i','0.2',cmd[2]])
    outsplit=output.split('\n')
    outparts=outsplit[-3:-1]
    for part in outparts:
     outstuff+='PRIVMSG %s :%s\n' %(channel,part)
  return(outstuff)
  else:
   return('PRIVMSG %s :Error: protocol must be either 4 or 6' %channel)

def help_ping():
 return('PRIVMSG %s :Pings an internet address. Usage: ping (4|6) <address>.' %(channel))

A plugin’s register() function is called when the plugin is loaded. It can use registerfunction(), addlistener(), and addhelp(). You can use each function as many times as you want, in case you have multiple functions and/or listeners, or if you want to include help with your plugin.

Read more to find out how to use the new plugin features.

(more…)