All posts by markp

LTSP Xubuntu thin and fat clients

Used this:

for fat client build:


ti implement that into each rebuild edit:


as per here:


Controlling and maintenance of the server image:


TFTP boot problems:

check the name/location of the image in dhcp.conf

Is the tftp port open?

netstat -an | grep 69

is there a tftp service running?

netstat -tupln | grep ftp


Helpful info on fat client setup:

Don’t forget to rebuild the image at the end of making changes!



switch to “direct X” mode for better scalability and performance, at the expense of reduced security on the LAN

Editing OpenLP database using CSV

An attempt to more quickly create and edit OpenLP database (SQLite) files, using sqlitebrowser in Ubuntu. As I’m not an SQL guru I concluded it’d be better to do some of the things I wanted to do to the songs db in LibreOffice using a CSV file.

Simply exporting the ‘songs’ table to CSV then importing it back into sqlitebrowser as a new table, subsequently renamed to songs, results in a table that is not identicle. it make openLP crash wne trying to edit the songs (wrong structure).

So… create a new table using ‘Execute SQL’ , using the CREATE statement of an untouched good ‘songs’ table, then import from the edited CSV, name it ‘songs2’. It will be empty. Import from the amended CSV file into this one. switch the names of this one with ‘songs’ table. should work.

Editing tanks in the CSV:
to concatenate ‘SoF1149’ with a space in fornt of the title: =F4&” “&G4

extending USB extension over cat5 cable

Three things on running USB over Cat-5 wiring:
1. On the RJ-45 8-pin jack, you want to avoid pins 1,2,3,6 because if it accidentally gets plugged into a switch or PC Ethernet jack, the 5-volts could fry something.

2. You want the power (+5v,ground) on the same color (blue,blue-stripe) so it doesn’t make an electronic field that can ruin the valuable data lines. the phone company runs 24V to our homes on one twisted pair of wires and it works fine.

3. Twisting the two data lines on one color (brown,brown-stripe) will keep data integrity over a longer run of lines. Ethernet lines do that and it works just fine.

I suggest the following from the USB to the Cat-5 jack:
1. usb pin 1 (+5v,red) goes to RJ-45 pin 5 (blue-stripe)
2. usb pin 2 (d-,white) goes to RJ-45 pin 8 (brown)
3. usb pin 3 (d+,green) goes to RJ-45 pin 7 (brown-stripe)
4. usb pin 4 (ground,black) goes to RJ-45 pin 4 (blue)

Using this configuration, you could simultaneously run Ethernet to a hub AND your USB extension with splitters and all.

DD WRT dual SSID Access Points using vlans – Routers with gigabit switches

Main thing to bear in mind when setting up these devices is that conceptually the wifi AP needs to seen as quite separate from the setting up of the switch for the vlans etc. So the creating of the vlans etc is one job, the assigning the various APs to subnets, with bridging, is another.

Having used E1000 APs for some time (100mbit switch, single 2.4ghz G wifi ap), this post develops on that by utilizing gigabit based switches. Linksys/Cisco hardware used for this so far:
E2000 1000mbit switch, single, selectable 2.4ghz or 5.0ghz N wifi ap
WRT610n v2 1000mbit switch (aka E3000), dual 2.4ghz and 5.0ghz N wifi ap

Here’s my set up of: Linksys-Cisco E2000 (and explanatory recap on the command lines settings needed).

When initially flashed with DD WRT (small build tailored to exact model needed before upgrade to a full build needed btw):

telnet IP
from within the subnet to access CLI of the router

root@megstemp:~# nvram show | grep vlan.*ports
vlan2ports=0 8
vlan1ports=4 3 2 1 8*


So, 2 vlans: 1 is for lan – main ports (1-4, numbering reversed). 2 is for wan, port 0. The CPU internal port, 8, must be included on any VLAN that must be visible to the CPU. The asterisk (*) signifies that the VLAN it is attached to is the default VLAN (only put this in one VLAN). If the switch receives a packet on the CPU internal port that is not tagged then it is put into the VLAN where the * is configured; always make sure this is the LAN VLAN.

root@megstemp:~# nvram show | grep port.*vlans | sort
size: 28660 bytes (32780 left)
port5vlans=1 2 16


The port#vlans variables contain a list of VLAN’s that the port is in. The variables control what the GUI displays. ports 0-5 relate to the 6 port switch which virtually all these router devices contain – 5 physical external ports plus the ‘internal’ port ‘hardwired'(?) on the processor chip.

The port5vlans is a bit odd. It corresponds to the internal port regardless of whether you have 100mbit or gigabit ports. ie. gigabit models do not have a port8vlans variable. It is also essential to set it correctly if you are enabling additional VLAN’s. It must be set to include every active VLAN and be tagged because it tag-trunks everything into the CPU internal port.

The =numbers above mean the following in the GUI:

0 = VLAN 0 is checked
1 = VLAN 1 is checked

15 = VLAN 15 is checked
16 = Tagged is checked
17 = Auto-Negotiate is unchecked
18 = 100 Mbit is unchecked or greyed because Auto-Negotiate is checked
19 = Full-Duplex is unchecked or greyed because Auto-Negotiate is checked
20 = Enabled is unchecked.

802.1q VLAN Trunk:
For every VLAN that you want to be trunked you must put the trunk port into the VLAN and add a “t” after the port number to indicate that it will be tagged.

A “t” after a port number means to tag the VLAN ID using 802.1q spec.

Application of above:

The example here will:
1. make the wan port and port1 trunked ports for vlans 1,12,13 (all tagged vlans)
2. make port 2 an untagged port for vlan1
3. make ports 3 and 4 untagged ports for vlan12

nvram set vlan1ports="0t 1t 2 8*"
nvram set vlan12ports="0t 1t 3 4 8"
nvram set vlan13ports="0t 1t 8"

[note: running this set command does not change what shows in the gui!]

nvram set port0vlans="1 12 13 16 18 19"
nvram set port1vlans="1 12 13 16 18 19"
nvram set port2vlans="1 18 19"
nvram set port3vlans="12 18 19"
nvram set port4vlans="12 18 19"
nvram set port5vlans="1 12 13 16"

[use the above set command to update the gui in line with port/vlan settings]

If the additional vlans haven’t already been created ‘declare’ them:
nvram set vlan12hwname=et0
nvram set vlan13hwname=et0

nvram commit

Setting up the bridging:
For the two vlans 12 and 13 we need the DD WRT AP to keep them in different subnets. The settings in the Setup–> Networking –> Bridging –> Create Bridge seem a bit fiddly. After creating you need to press ‘Apply Settings’ (NOT ‘Save’) using the buttons at the bottom of the gui page. Only by doing this do the IP address and Subnet Mask for the new bridge appear.(?) Add the IP addresses etc.
Next, assign the interfaces to the bridges. eth1 is (I think) the primary wifi IF, this has usually been used with SSID Methodist_inhouse, on the ’12’ vlan/subnet. Bridge this to vlan12. wl0.1 is a virtual IF that is created when adding wireless ‘virtual interfaces’, so wl0.1 is bridged to vlan13.

Other DD WRT General/Various settings:
Security –> Firewall –> Firewall Protection –> SPI ‘Disable’

WAN Connection type: Disabled

Assign WAN port to switch: yes

Advanced Routing –> Operating mode = router. These switches are not internet gateways.

DHCP – I’m unclear whether I’m doing this right. I have set DHCP to ‘forwarder’ on the main settings page, but I get the impression this only relates to vlan1. DHCP for all three vlans is via these routers is coming from the pfsense router so in that sense it works OK. I note in this e2000 there are additional

pfSense Web Filtering Hardware

As I figure out how to make a pfsesnse box that can filter web content I am confronted with the fact that the ‘no moving parts’ CF Flash based ‘appliance’ routers I’ve made for a few years cannot run the optional squid/squidguard packages. This is because squid (proxy/cache) needs to write to disk frequently and that will not work with flash based storage. I’m not keen on installing HDD, the obvious solution, as it introduces what is a ready and frequent point of failure.

Other options? Install on CF but use a HDD for the caching?

Or perhaps as this post refers to do webfiltering without the cache option:

This post uses nanbsd but the squid cache writes to an external USB stick:;prev_next=next

Follow up (Oct 2017): bought an Igel H820C for this – it’s 64bitamd so will work with pfsense > 2.4. I combined with a cable to allow a 2.5hdd to be plugged onto the SATA/power connector where the Disk on Chip module was originally. This thin client has a PCI-E expansion slot so this goes in there: Dual Port PCI-EX1 OEM Intel 82575EB E1G42ET/EF/E1G44ET Gigabit Server Adapter. It brings up two ‘igbX’ interfaces which are vlan capable. The onboard gb NIC is an ‘re0’.

See “pfSense Web Filtering Software” for the pfsense setup.

trx audio over IP utility

Can I get this working?!

Download and unzip the source.

Add these packages to meet dependencies:

sudo apt-get install libasound2-dev libopus-dev libopus0 libortp-dev

There is no configure file so straight to ‘make’

then ‘make install’.

markp@lenovo:~/ for PCs/TRX/trx-0.2$ sudo make
cc -MMD -Wall -c -o rx.o rx.c
cc -MMD -Wall -c -o device.o device.c
cc -MMD -Wall -c -o sched.o sched.c
cc rx.o device.o sched.o -lasound -lopus -lortp -o rx
cc -MMD -Wall -c -o tx.o tx.c
cc tx.o device.o sched.o -lasound -lopus -lortp -o tx
markp@lenovo:~/ for PCs/TRX/trx-0.2$ sudo make install
install -d /usr/local/bin
install rx tx /usr/local/bin
Seems OK!

pcmcia 3com network card pinout for nec mt1065 projector

I’ve had a few pcmcia network cards floating around but lost track of which ones work to give the web control access for the NEC MT1065 projector.

Despite buying the correct wireless card I never got that to work in the projector.

The 3com 3CCE589ET works OK, (maybe the 3CCE589EC as well, but untested). Both these are 10Mbps cards. The 3CCFE575BT card doesn’t work (10/100Mbps).

The cards are cheap on ebay but often without the needed network cable. Original cable (I think) is PN: 07-0362-000 Can’t see any on ebay. However I have been able to source a similar 07-0383-000. These cables have no dongle, just straight wired through to an RJ45 plug.

The pinout for these is (I think) the same:

The card connector is a 15 pin connector.  Looking at the connector from behind, counting from right to left:

pin 1 = RJ45 6 (orange)

pin 2 = RJ45 3 (white/orange)

pin 3 = RJ45 2 (blue)

pin 4 = RJ45 1 (white/blue)

pin 7 = connector’s LED (polarity unknown)

pin 13 = connector’s LED (polarity unknown)


The connector on cable 07-0362-000 can be dis-assembled if needed and soldered

The connector on cable 07-0383-000 is more of a moulded unit, harder to break open I suspect.

Some of the 10/100 cables could be utilised, for the above. Many have the dongle bit (with safety transformer in it?) but no worries, just snip it off and connect an RJ45 connector instead of the dongle and resolder as above within the connector. Eg cable 07-0337-002 has the connector type that could be opened up and soldered if you had to doctor one from the newer 10/100 cards. I don’t think these pinout the same as the previous un-dongled ones though as i did try and use one of these with the 10Mbps cards, no joy. As of 2016 these 10/100 cables are on ebay a bit.

Don’t blame me if this is wrong!