[RaspPi] Virtual Accesspoint on Xbian

Little How To to get an Virtual AP running on XBian.
I did NOT choose to install an DHCP Server on Xbian, as I just wanted to use the central one in my network.

1.) Install software
sudo apt-get update
sudo apt-get install install hostapd hostap-utils iw bridge-utils

2.) Update hostapd
cd ~
wget http://www.adafruit.com/downloads/adafruit_hostapd.zip
unzip adafruit_hostapd.zip
sudo mv /usr/sbin/hostapd /usr/sbin/hostapd.ORIG
sudo mv hostapd /usr/sbin
sudo chmod 755 /usr/sbin/hostapd

3.) Configure hostapd
sudo vi /etc/hostapd/hostapd.conf

interface=wlan0
bridge=br0
driver=rtl871xdrv
ssid=MY_SSID
hw_mode=g
ieee80211n=1
channel=11
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=3
wpa_passphrase=MY_PASSWORD
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

sudo vi /etc/default/hostapd

Change
#DAEMON_CONF=""
to
DAEMON_CONF="/etc/hostapd/hostapd.conf"
and save file

4.) Configure hostapd autostart
sudo update-rc.d hostapd enable

5.) Configure IPv4 Forward
sudo vi /etc/sysctl.conf

add
net.ipv4.ip_forward=1
to the end of the file and save

6.) Configure interfaces
# You will need to change the IP address and network to your networks settings!
sudo vi /etc/network/interfaces

auto lo br0
iface lo inet loopback

iface eth0 inet dhcp
allow hotplug wlan0
iface wlan0 inet manual

iface br0 inet static
bridge-ports eth0 wlan0
address 192.168.1.75
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

7.) Configure rc.local for boot
sudo vi /etc/rc.local

add before exit 0

ifup br0
/etc/init.d/hostapd restart

save and exit

8.) Reboot
sudo reboot

Material used and thanks to:
https://learn.adafruit.com/setting-up-a-raspberry-pi-as-a-wifi-access-point/overview
http://www.instructables.com/id/How-to-make-a-WiFi-Access-Point-out-of-a-Raspberry/#step1
https://wiki.debian.org/BridgeNetworkConnections

[RaspPi] Trouble with xfce4-panel on Kali Linux

Errors with xfce4-panel

I got an error that the xfce4-panel / Taskbar disappeared.
I solved it by right-clicking on the Desktop, choosing Applications, Settings, Panel.
After that it told me that it got no panel running, and if it should start one.
I answered yes and the panel would appear again.

After an reboot, I always got the question wheter it should start an panel.
As that was quite annoying, I looked for another solution to the problem.
I found the answer here: http://forum.ubuntuusers.de/topic/probleme-mit-panel-und-kiosk-modus/
Just delete the xfce settings like that:
rm -rf ~/.cache
rm -rf ~/.config

After that, click the log out button, UNCHECK the "Save session for future logins" box and choose reboot.

On the next reboot, it should come up correctly again.

[RaspPi] Install Kali Linux on RPi with HDMIPi

1.) Download Kali for RPi
https://www.offensive-security.com/kali-linux-vmware-arm-image-download/

2.) Extract if with 7zip, format your SDCard with the Formatter from the SDCardAssociation and write the Image (kali-1.0.9-rpi.img) to your SD Card

2b.) If you plan on using Kali with your HDMIPi Screen, create an config.txt file with following content on the sdcard to have correct HDMI sizing:

hdmi_ignore_edid=0xa5000080
hdmi_group=2 # HDMIPi for 1280 x 800
hdmi_drive=2 # for alternative modes get sound
hdmi_mode=28 # 1280 x 800 @ 60 Hz Specifcations

3.) Boot it

4.) After boot, login with root / toor

5.) Install raspi-config using the terminal
wget https://raw.githubusercontent.com/snubbegbg/install_raspi-config/master/install.sh
chmod +x install.sh
sudo ./install.sh

6.) Configure sdcard reseize, locale and stuff using sudo raspi-config and reboot

7.) Install Kali Metapackages
Kali comes kind of "blank" with no tools.
Choose your needed package from https://www.kali.org/news/kali-linux-metapackages/ and install it using apt-get.
But please look out for the installation size!
I.e. for the kali-linux-top10 package:
apt-get update
apt-get install kali-linux-top10
Or the complete ISO package (9 GB!):
apt-get install kali-linux-full

8.) Reboot
sudo reboot

9.) After rebooting and login with root / toor, enter startx to use Kali

[RaspPi] Faintly glowing steady green LED on Raspberry Pi

[RaspPi] Faintly glowing steady green LED on Raspberry Pi

I got some serious issues with one of my Raspberry Pi, Modell B Rev. 2.0.
With an recent image, the Raspberry Pi refused to boot, but did only light up the red ACT LED as well as an really faintly glowing steady green PWR LED.
After my shop of trust sadly declined to help me with that issue, I tried to come up with every possible fix possible.

So, what can it be?
- Powersupply not beefy enough
- Micro USB Cable damaged
- Image was damaged during download / extract
- SD Card is not correctly flashed
- SD Card is damaged
- Wrong SD Card Type or RPi does not like it
- High Power drawing devices attached to USB Port
- SD Card Slot on the RPi is damaged / no contact

In my case, the solution was quite easy:
The SD Card did not connect correctly to the SD Card Reader in the RPi.
I just needed to rebend the legs of the SD Card Slot on the RPi, after that, it just worked perfectly again.

repair_rpi_sdcard_reader

The faintly glowing green LED says that the bootcode.bin could not be loaded, the first file that is pulled from the SD Card.
So it is a good hint for everything what could have gone wrong.

Other than that, a lot of good hints are shown on: http://elinux.org/R-Pi_Troubleshooting

[RaspPi] Snappy Ubuntu Core on Raspberry Pi 2

Well, I finally got my Raspberry Pi 2 and just could not hold back and wanted to test Snappy Ubuntu Core and give a little introduction and how that thing works.

Ok, but short into: What is Snappy Ubuntu Core?
Well it is meant to be a secure operating system for embedded applications.
It is based on an transactional system-management and can even rollback upgrades of the system core.
There are three kinds of Snappy Ubuntu Core Components:
Snappy Ubuntu Core itself (Core), Frameworks and Apps.
Frameworks can access the Core in certain ways and thus need to be reviewed by the Ubuntu Team.
Apps are completly isolated from each other and have limited access to the system, therefore they don't need special security profiles or reviews, which makes publishing easier.
Ok, and everything is controlled via the command "snappy".

Let's install Snappy Ubuntu Core:
1.) Get the Image from http://www.raspberrypi.org/downloads/ and a Raspberry Pi 2. It needs the ARMv7 architecture and won't run on a RPi 1.
2.) Use the SD Formatter ( https://www.sdcard.org/downloads/formatter_4/ ) with Size Adjustment (you'll find it under Options) ON to format your Micro SD Card and the latest Win32 Disk Imager ( http://sourceforge.net/projects/win32diskimager/ ) to burn the Image to that Micro SD Card.
3.) Plug your RPi 2 into your Keyboard / Monitor / Network Connection, insert the Micro SD Card and let it boot.
4.) The Login Credentials are ubuntu / ubuntu

Ok. Now that we got Snappy Ubuntu Core running on our RPi 2 - how about using it?
We can login via Keyboard / Monitor using the CLI, or use SSH - if we know the IP Address of our RPi2.
Login Credentials remain the same.
Additionally, we can browser from any PC on the same network to http://:4200/ - which is the unsecured (NO LOGIN!) web device manager called WebDM. We can use it to install new Apps and work on the RPi 2. But as said, it has no authentication in this version - so... Don't use this box for anything more than testing / dev work!

After login in, we can find out the most important things via uname -a, top, df -h, date and ifconfig.

Snappy Ubuntu Core uses about 128 MB of RAM while beeing idle.

The most important thing is to activate the NTP Client on your Box. Otherwise the RTC will start at somewhere around 1970 and your system won't be able to update anything, as the certificates on your device will be invalid. So enable that via the command sudo timedatectl set-ntp true. You could also set the time manually via i.e. sudo date -s "Tue 2 Mar 21:33 UTC 2015".

After that is done, we can watch or current installed apps, frameworks and system via snappy info. An exact view on our system with version numbers and which part is active (due to the transactional style we can have multiple versions installed and even switch back to the older version if something fails on the upgrade) can be seen via sudo snappy versions -a. To get the latest version information (i.e. like sudo apt-get update), we use the command sudo snappy update-versions and watch the new versions via sudo snappy versions -a. We can finally upgrade the system via sudo snappy update ubuntu-core for i.e. updating the core. After an sudo reboot, the latest version will come up and also be shown on the sudo snappy versions -a screen.

Little Hint: On my last test, Snappy showed this output:
ubuntu@localhost:~$ sudo snappy versions -a
Part Tag Installed Available Fingerprint Active
ubuntu-core edge 2 3 f442b1d8d6db3f *
ubuntu-core edge 3 - d3fe721a35104a R
webdm edge 0.1 - 1604c8b7c9f6c5 *
Run 'snappy update' and reboot to use the new ubuntu-core.

Which means the new Version should come up on Reboot ("Active, R") - however, even after rebooting several times and other trys - I could not get it to work and change to Version 3 of the Ubuntu Core :/!

Last but not least: How to find and install new apps? Very easy.
Just enter i.e. snappy search to find the App you're looking for and install it with sudo snappy install or via the WebDM System.

More infos can be found on the Website of Snappy Ubuntu Core: https://developer.ubuntu.com/en/snappy/

PS: As already added, this release is still in its beta stages and is not really "snappy" in terms of speed compared to an Raspbian or similiar Image. Also there are not a lot of Apps to choose from and there are several security problems like the complete open WebDM. Be advised that Snappy Ubuntu Core is NOT YET READY FOR PRODUCTION USE.

[RaspPi] HDMIPi Repair and VGA Upgrade

Sadly, some weeks ago, the Micro USB Port of my HDMIPi broke.
I wrote an letter to Alex Eames, which is quite known for HDMIPi, RasPi.TV and his lattest Kickstarter Project the RasPiO Duino.
Alex is an awesome guy and gave me his blessings to try to repair that problem myself.
With some flux, a fine solder tip and soem patience, you can get that repaired in no time.
After succeeding, I created some strain-relief by using two-component epoxy resin to glue it down a bit. Highly recommended!

As I already saw the unused VGA pinout on the HDMIPi and had the screen taken apart, I decided to hack an old VGA Connector from an even older VGA ATI/S3 Trio/Dunno-something-very-old Graphics Card :). I just soldered it in - in it worked right away! However, due to the fact of the included 12mm M3 Spacers and the additional height of the board due to the VGA Connector, I could not attach the back plate of the HDMIPi. I don't recall the exact size, but I think I came up with 18mm M3 Spacers which I only used to replace the original 3 Spacers on the bottom part of the HDMIPi. That way, the buttons of the Display would still be seated nicely and I could access the GPIO Ports of the RPi quite well.

Some photos:

hdmipi_1

hdmipi_2

hdmipi_3

hdmipi_4

hdmipi_5

[RaspiPi] RF24 Radio Link between 2 Raspberry Pis

Hi there,

awesome coder TMRh20 did write some cool librarys for the widely used RF24 radio modules.
These tiny things work with SPI and thanks to TMRh20s work, you can use them quite easily to connect two RPis.
You can find his/her Github on https://github.com/TMRh20, as well as a lot of good documentation on his/her blog http://tmrh20.blogspot.de/ and github.io http://tmrh20.github.io/

To make it short and connect to RPis, this is my reciepe, worked out with TMRh20 - Thanks a lot!

1.) You should connect the RF24 modules to your two RPis like shown here:
https://github.com/TMRh20/RF24Network/tree/Development#connection-info
I did not change anything in the config but did just connect the modules like mentioned in the table:

Pins:

PIN -- NRF24L01 -RPI --------- RPi -P1 Connector
1 ---- GND ----- rpi-gnd ----- (25)
2 ---- VCC ----- rpi-3v3 ----- (17)
3 ---- CE ------ rpi-gpio22 -- (15)
4 ---- CSN ----- rpi-gpio8 --- (24)
5 ---- SCK ----- rpi-sckl ---- (23)
6 ---- MOSI ---- rpi-mosi ---- (19)
7 ---- MISO ---- rpi-miso ---- (21)
8 ---- IRQ ---- - ------------- -

2.) Install dependencies:
sudo apt-get install libboost1.50-all

3.) Install RF24toTUN on all RPis
mkdir rf24
cd rf24
wget http://tmrh20.github.io/RF24Installer/RPi/install.sh
chmod +x install.sh
sudo ./install.sh

Do you want to install the RF24 core library, Y/N?Y
Do you want to install the RF24Network library?Y
Do you want to install the RF24Mesh library?Y
Do you want to install the RF24toTUN library?Y
Do you want to compile RF24toTUN with RF24Mesh support?N

cd rf24libs/RF24Network/

vi RF24Network_config.h
change #define MAX_PAYLOAD_SIZE
to #define MAX_PAYLOAD_SIZE 1514

sudo make install -B

cd ..
cd RF24toTUN/

vi rf24totun.cpp
goto line 209: while(!radioTxQueue.empty() ) { // && !radio.available() ) {
and change it to: while(!radioTxQueue.empty() && !radio.available() ) {

sudo make install -B

4.) Use the Tunnel on both RPis (you're in the RF24toTUN folder :)!):
Node 1, Master:
sudo rf24totun_configAndPing.sh 1 2
answer 0 for Master
got now IP: 192.168.1.1

Node 2, Client:
rf24totun_configAndPing.sh 2 1
answer 1 for Client
got now IP: 192.168.1.2

After that you can ping each other, even with -s100 for 108 bytes payload, or use ssh and such.

Addition:
If you want to use the LAN/WAN Connection of the Master RPi from your Client, you need to do following:
a) Master Site:
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -j MASQUERADE
# To forward and allow traffic, as mentioned here: http://tmrh20.github.io/RF24Ethernet/

b) Client Site:
sudo route add default gw 192.168.1.1 tun_nrf24
# Configure default gateway to the IP of your Master RPi and use the RF24 device to connect to it