[{"content":"I started blogging on WordPress on the 15. August 2008 - and for more than 18 years, WordPress served me well.\nWell, a lot changed and its now time to move on: Welcome Hugo!\nWe see each other in a second\u0026hellip; \u0026lt; moving server now \u0026gt;\nIt took me quite a while to migrate all of my old stuff, maybe not everything is perfect, but I think I managed to clean-up quite a bit. Also, I added Disqus for the moment, but I am not sure whether I will stay at this service for the long run. On the other hand - we got dark-mode now! Isn\u0026rsquo;t that progress? 😂. Obviously I also need to figure out a lot about how to publish texts in the future, given that I am now tied to HTML only content. But then again, that might be a blessing in todays \u0026ldquo;security climate\u0026rdquo;.\nAlso: We still got RSS, so you can follow me that way.\nCheers, Nico\n","date":"2026-11-08T17:31:30Z","permalink":"/posts/2026-11-08-goodbye-wordpress/","title":"Goodbye WordPress!"},{"content":"Here is my presentation to the apex Mk.2/Mk3 @ PiAndMore 14 (University of Applied Sciences Trier, 26.09.2026)\napexMk2Mk3_PiAndMore14.pdf\nVideorecording can be found here: tbd\n","date":"2026-09-26T11:50:27Z","permalink":"/posts/2026-09-26-piandmore-apex-mk-2-mk-3-on-dlr-mapheus-10-presentation/","title":"[PiAndMore] apex Mk.2/Mk.3 on DLR MAPHEUS 10 Presentation"},{"content":"Here is my presentation to the Raspberry Pi Introduction @ PiAndMore 14 (University of Applied Sciences Trier, 26.09.2026)\nRPi_PiAndMore14.pdf\nVideorecording can be found here: tbd\n","date":"2026-09-26T08:50:06Z","permalink":"/posts/2026-09-26-piandmore-raspberry-pi-introduction-presentation-6/","title":"[PiAndMore] Raspberry Pi Introduction Presentation"},{"content":"I actually own a Omron BF511 human scale, a nice bit of japaense kit. Its a bit old and certainly does not want to interact with the world expect for its LCD display. I wanted to change that and integrate the scale into my health apps/do not keep on tracking stats via paper and pencil. For that reason I did a small deep dive on how to best access its data and send it back via LoRaWAN. All infos can be found on this little Github Repo: https://github.com/nmaas87/openBF511\n","date":"2026-05-21T05:59:39Z","permalink":"/posts/2026-05-21-openbf511-reverse-engineering-a-omron-bf511-scale/","title":"[openBF511] Reverse Engineering a Omron BF511 scale"},{"content":"\nFinally the series of studies of the apex Mk.2/Mk.3 experiments flown on MAPHEUS 10 (2021-12-06) are peer-reviewed and published. You will find them as follows:\nPaper\napex Mk.2/Mk.3: Secure Live Transmission of the First Flight of Trichoplax adhaerens in Space Based on Components Off-the-Shelf: https://doi.org/10.3390/eng6090241 The apex MCC: Blueprint of an Open-Source, Secure, CCSDS-Compatible Ground Segment for Sounding Rockets, CubeSats, and Small Lander Missions: https://doi.org/10.3390/eng6090246 The apex MRMSS: A Multi-Role Mission Support System and Service Module Simulator for Payloads of Sounding Rockets and Other Space Applications: https://doi.org/10.3390/eng6090247 Media\nFlight apex Mk.II in MExA on MAPHEUS 10. YouTube. 2021. Available online: https://www.youtube.com/watch?v=H4EP9TFVHm4 MAPHEUS 10 Launch (Radarhill). YouTube. 2021. Available online: https://www.youtube.com/watch?v=9N74bLjJrR0 MAPHEUS 10 Launch (Dome/apex Groundsegment Weathercam). YouTube. 2021. Available online: https://www.youtube.com/watch?v=h_K23H79Ijo DLR MAPHEUS 10 Sounding Rocket Campaign. DLR Weblog. 2021. Available online: https://www.dlr.de/en/latest/news/2021/04/20211206_journey-into-microgravity-for-seven-experiments 1st generation apex/apex (2019) study and press releases: link\n","date":"2025-09-24T08:00:19Z","permalink":"/posts/2025-09-24-paper-apex-mk-2-mk-3-apex-mcc-apex-mrmss/","title":"[Paper] apex Mk.2/Mk.3, apex MCC, apex MRMSS"},{"content":"Intro I had an old Dell Latitude XT (first generation) in my posession since\u0026hellip; quite a long time. One of the first tablet/convertible laptops by Dell, released in 2007.\nIt was quite a nice machine, but it suffered from multiple issues. On the one hand, the ULV Core2Duo and internal 1 GB of DDR2 memory are nothing to write home about - but the biggest problem in my opinion - is the used mass memory, a 1.8\u0026rsquo; 5400 rpm harddrive. And no, you read correctly - 1.8\u0026rsquo;. What\u0026rsquo;s that? Thats basically the size and model of HDDs used in Apples iPods: They are awfully slow and even more prone to break.\nActually, I used this laptop quite a lot during my masters studies - and I had it breaking 2 drives in a short amount of time. I used it during a space campaign later, but after that it started to develop Read/Write Errors again and I shelved it - until now.\n1.) RAM The easiest thing to \u0026ldquo;solve\u0026rdquo; is the memory issue, solve - however - is a big word. You can extend the memory to a total of 3 GB by plugging in another SO-DIMM DDR2 667 MHz module, but sadly thats it. The CPU can address a maximum of 4 GB of RAM, but as 1 GB of RAM is already soldered to the mainboard - well, it ends with that upgrade, sadly. I had really hoped someone would have tinkered around with the BIOS and found out how to extend the memory by accepting 4 GB modules or such, but I have not found anything on the web - if you got something, please let me know :).\n2.) CMOS battery Being that old, (2008-03-26) the CMOS battery has long been dead. Sadly, the usual issue arrives - the laptop quickly turns on - then shuts off and does not boot. The first thing to do is to remove the keyboard bezel and keyboard - to be able to remove the battery altogether to allow the system to boot again. Removing the battery reveals that it has three connector pins: 2 GND and 1 VCC pin. Removing the shrink wrap shows its just an ordinary Panasonic CR2025 cell:\nSo, creating a new battery is very easy. As I did not have another CR2025 at hand with solder tabs, I just took a new CR2032, put the soldering iron to 420 Degrees Celsius and quickly soldered the connectors directly to the battery. But be careful, you need to be very quick to not damage the coin cell.\nIn the end I put it in shrink wrap\u0026hellip;\n\u0026hellip; but I found out that the battery got too thick to be inserted beneath the keyboard. So I ended up in soldering ground directly to the GND terminal of the battery and the positive terminal to the side of the battery case - and keeping the solder as low profile as possible. As the shrink wrap also added too much height I put it into kapton tape.\nGood thing - it worked out in the end :).\n3.) Harddrive replacement Getting a new harddrive for the ZIF PATA socket would be quite expensive - and the 1.8\u0026rsquo; drives will be slow and fail anyway after some time. So I looked for alternatives. There are ZIF Sdcard connectors, but they are also expensive and while Sdcards can be faster, they are still not a good memory media for hosting the OS of an Desktop computer. There are also ZIF SSD drives, but - again - very expensive. But the last thing I found was interesting: An ZIF to mSATA adapter for some bucks on one big online shop.\nThe most important parts of this adapter was that the ZIF socket did not correctly fit the original adapter cable from the Latitude XT and my mSATA SSDs passive components collided a bit with the adapter board, so the first thing I did was to use some kapton tape to make sure we will not create any short-circuit:\nThen I lined up the original connector cable with the board, as shown, metal contacts up:\nAs written already, the original connector cable was \u0026ldquo;too thin\u0026rdquo; to be correctly grabbed by the ZIF socket, so I applied two strips of kapton tape to the backside of the connector to make it a bit thicker - this worked like a charm:\nThe last issue was that the drive was floating around the case - only dangling by the delicate ribbon cable. So I printed a little baseplate which would fit into the slot neatly:\nUpon this baseplate I alligned the overall construct and made some notes so I could apply some doublesided tape\u0026hellip;\n\u0026hellip; after I enclosed the new construct in the \u0026ldquo;rubber frame\u0026rdquo; I took off the hard disk drive and screwed it all into position.\nLuckily it fit and even the old battery still had enough clearance to slide into position.\nAfter that, I could use the SSD as any other internal harddrive and install Debian 12 on the system, which run quite well (the only exception were the lower touchpad mouse buttons and the very old Broadcom Wireless Card). The best part was the impressive speed the system now boasted - in contrast to the old clunky harddrive. Really nice!\n4.) System Battery Well, the main battery does still charge - but only to a certain degree until the battery icon starts blinking red and it becomes a bit\u0026hellip; toasty. So, I took the battery out. Sadly the laptop is quite top heavy and tends to tipover if its used without the battery. There are still spare batteries around, but I wonder what the life expectancy of those would be, probably nothing fancy. I am thinking about dissassembling the battery and removing the cells, inserting some lead or other ballast to just have it in its original look (the main battery is an important part of the case which looks a bit\u0026hellip; funny without it) and useability. But, thats something for later.\n","date":"2024-12-07T17:49:47Z","permalink":"/posts/2024-12-07-reworking-a-dell-latitude-xt-in-2024/","title":"Reworking a Dell Latitude XT in 2024"},{"content":"Updated on 2024-12-01 with latest fixes of STM32LoRaWAN v0.3.0\nAs the RAK11300 did not really match my requirements (it uses way too much energy), I looked further and found the RAK3172 which is based on an STM32WLE5CCU6 - an STM32 chip which usually include good powersaving modes. As with the RAK11300, I did not want to go down the Wisblock way and designed my own breakout board:\nThis was actually not complicated as the RAK3172 has all needed components on board. I just added an H7333 LDO for powering it from 18650 cells and two additional features: First, the i2c port was aligned with the pinout the the usual BME280 breakouts from your typical websources - so that I could directly plug those in. Secondly, I made a solderbridge that allowed this i2c port to be 3v3 powered either directly by the LDO or by an port of the STM32. The later option I actually now use in normal operations, as this allows the system to really cut the BME280 from power so that it does not drain energy while the setup is in sleep mode / not actively measuring.\nAs core I wanted to go with the stm32duino Core as it already had the STM32WLE5CC supported. The only thing missing was the fact that I actually bought the TCXO enabled 3172T variant and this was not yet supported - and so I got my first PR on the stm32duino repo.\nFor the radio library I was thinking about chosing the RadioLib again and made a lot of research already on how to get it implemented, but at that time, RadioLib was working around their LoRaWAN implementation quite a lot - and shooting for a moving target was getting me nowhere, so I tried out STMs own implementation.\nUpdate 2024-12-01\nThe following two paragraphs detail workarounds for issues with STM32LoRaWAN v0.2.0 which have been resolved for good three days ago with release of v0.3.0 and are thus only interesting in the historical context of me setting up those sensors initially in ~June 2024.\n(Fixed with PR #47):\nThis did work out quite well, however, there is to this day a bug with the timers which prevents the chip from ever waking up again - a workaround for it is given in the issue in case you want to try it too ( calling rtc.begin(true) after modem.begin() makes it work! ).\n(Fixed with PR #44 / #39):\nI also had an additional issue, I left the RAK3172T sleep usually for 10 minutes, wake up, do a measurement and transmitting it back - then go to sleep again. This worked in my testing until 28 \u0026ldquo;wake-ups\u0026rdquo; - then on the next sleep, the chip would never wake up again. I am not sure what is causing this, but I went down the road of just counting the wake-ups and restarting the chip after the 24 or so, just to have a safe margin.\nAgain, this was not a project I spend too much time with, I just wanted something to replace my breadboard wired mess of two CubeCell HTCC-AB01 - which absolutly did not stay unchanged in place since a short test back in 2021 and were working like this ever since (and suffering from disconnect whenever looked at from a wrong direction ;))\nSo - yeah, if I were to have time I would probably look and test RadioLib support.\n","date":"2024-11-17T13:00:09Z","permalink":"/posts/2024-11-17-rak3172t-in-arduino/","title":"RAK3172T in Arduino"},{"content":"The Turing Pi 2 (v.2.4) has actually some secrets that just start to get uncovered. Looking closely at the board, you will find the red marked area with what seems to be an unpopulated 4-pin fan header (J16) and an unpopulated IC spot (U109).\nThese spots were, as found out by Sam Edwards (CFSworks) actually a place to install Molex 47053-1000 4-pin fan connector and a Microchip EMC2301 fan controller. It is not clear why they were left out of the production model, probably for cost savings, but without that the Turing Pi 2 lost a nice smooth fan controller. However, thanks to Sam Edwards work, the chip is now supported by the Turing Pi 2 BMC, so that after retrofitting, this will just work out of the box!\nTo do this little hack you just need to order an Microchip EMC2301 in its MSOP-8 / standard packaging. If you don\u0026rsquo;t find the specific molex conenctor its also fine if you \u0026ldquo;just\u0026rdquo; use an male 2.54mm header pin. Yes, you will not have the locking feature of that connector and you will need to watch out for the correct orientation when plugging in fans - but it still works in a pinch.\nWhen soldering I would advise to solder the EMC2301 first onto its spot, the orientation is as shown in the second picture. Afterwards you can solder the fan header.\nMake sure the circle matches up as shown so that you got the chip in the correct orientation.\nAfter the installation, update your Turing Pi 2 BMC to the latest firmware 2.0.5. Please make sure to read the comments on the repo, if you\u0026rsquo;re updating from a BMC version \u0026lt; 2.0.0 you will need to make a first flash via a Micro SD card to get to version 2.0.0 and update further afterwards.\nWhen everything is done and you log into your Turing Pi 2 BMC, you will see this nice slider to set the speed of your EMC2301 connected fan.\nCurrently there are still some things up for debate and configuration with the latest kernel release which changed naming of components but overall its already working and a nice and easy mod to get a better fan controller installed - instead of just the \u0026ldquo;on/off\u0026rdquo; as soon as one Turing node gets activated - or all deactivated.\nAgain, thanks a lot to Sam Edwards who had the idea and came towards with the PRs and implementation - thank you! 🙂\n","date":"2024-11-16T19:39:50Z","permalink":"/posts/2024-11-16-turing-pi-2-retrofitting-an-emc2301-fancontroller/","title":"Turing Pi 2 - Retrofitting an EMC2301 Fancontroller"},{"content":"In 2021 I started playing around with the SX1303 based RAKwirless RAK5146 USB LoRaWAN concentrator in mini-PCIe form factor ( 1, 2 ). Back at the time I used the RAK2287 Pi Hat which - even though the website states otherwise (\u0026ldquo;Note: RAK2287/RAK5146 Pi HAT is compatible only with the SPI version of the RAK2287 and RAK5146 LPWAN concentrators.\u0026rdquo;) is actually compatible with the USB version of RAK5146. In the second post I even want so far to hack the RAK2287 and bridge the PPS (Pulse Per Second) output of the included GPS onto the RPi GPIOs so that I could turn the RPi into a precise GPS NTP server - and I even added an I2C/\u0026ldquo;poor-mans-QWIIC connector\u0026rdquo; to it.\nWhile all these hacks were successful and the balenaOS backed RPi 3 LoRaWAN concentrator was still working (with regular updates) in 2024, I finally wanted to streamline my overall IT setup: I had an WD My Cloud Mirror Gen2 NAS I updated to Debian 11 in 2022, the LoRaWAN concentrator/NTP server/Room sensor RPi 3 and an very old Medion Laptop was I was abusing as the main \u0026ldquo;server\u0026rdquo; - it was time to unify those systems and move on.\nLuckily, I had gotten a TuringPi 2 and Turing RK1 SBCs which were a powerful combination: My plan was to use one RK1 in Node 3 position on the TuringPi 2 which did give the SBC one NVMe slot, a PCIe attached Dual Port SATA bridge and the additional USB 2.0 port which could be switched to any Node on the board. With the RK1 as a way more powerful CPU (in contrast to the old AMD 1 GHz Dual Core on the Medion Laptop\u0026hellip;) and the Dual Port SATA bridge I already got Server and NAS functionality solved. But what about LoRaWAN and the other functionalities?\nWell, as I bought the RAK5146 USB (with LBT and GPS), I could just use the RAK2287 to plug a cable from the Micro USB cable into the additional USB 2.0 port of the TuringPi 2 - and this was done. However, what about the GPS and PPS input to allow for an NTP server? And did I really wanted to install the RAK2287 into an ugly box - or leave it open for further projects?\nThats when I realized I still had the GeeekPi RPi 4G Hat at hand, an RPi \u0026ldquo;Hat\u0026rdquo; I bought back then when I thought that might be the cheaper alternative, but went out of my way to also buy the RAK2287 and never really tested it.\nThe GeeekPi is just an ordinary hat, well - lets say it does not even has any connection to the RPi, just an USB C port - not even some GPIO connection - its basically just an \u0026ldquo;USB LTE Modem in mini-PCIe to USB breakout\u0026rdquo; in the shape of an RPi Hat.\nLooking at the SIM Card Slot I had some mixed feelings and hoped that it would not interfere with the RAK5146 - so I rechecked the pinout:\nLuckily it turned out that the RAK engineers thought about this and marked the SIM Card Slot connectors as NC/not connect. With this, this card could be inserted into any Laptops WWAN slot or an SBC like the balenaFin. Neat!\nAfter the pinout situation was clear, there was just one thing left: Soldering the needed connections directly to the mini-PCIe connector:\nThe needed pins were GND, PPS, PI_UART_TX and PI_UART_RX which I broke out onto a 2.54mm female header and fixed them into place with a bit of hotglue as strain relief:\nThen I just needed to add an FTDI USB UART to the mix and connect these pins:\nGND to GND PPS to DCD PI_UART_TX to TX PI_UART_RX to RX Afterwards I just needed to install the RAK5146 and the LoRaWAN and GPS antennas before powering up the unit via the USB C port of the Hat and connect the FTDI UART USB as well.\nAnd the end I also broke out the RESET_GPS and STANDBY_GPS pins just for good measure, but as they are active low I did not need to pull them to any potential. But then again, it could come in handy in the future.\nWith those changes I can now use the RAK5146 directly over an USB connection and still get the GPS data and PPS signal for use in gpsd. I ended up printing an enclosure for the overall construction, added an 4 port USB hub and connected one of my RAK11300 breakouts as a Meshtastic node and another Waveshare RP2040 Zero as an environmental sensor which terminates a BME280 and an Amphenol Telair T6713 CO2 sensor to measure the room climate. I also rewired the USB 2.0 Hub to an USB C connector and now everything has its place - and I still have my empty RAK2287 board lying around in case I where to get another RAK5146 for other jobs ;).\n","date":"2024-11-16T17:31:59Z","permalink":"/posts/2024-11-16-geeekpi-rpi-4g-hat-for-rakwireless-rak5146-usb/","title":"GeeekPi RPi 4G Hat for RAKwireless RAK5146 USB"},{"content":"The Turing RK1 is a new Compute Module, made for the Turing Pi 2 board and with compability to the Nvidia Jetson cards in mind. While the board has some impressive specs ( https://docs.turingpi.com/docs/turing-rk1-specs-and-io-ports ) it had one small issue: The used Rockchip RK3588 needed a bootloader on its eMMC to be able to boot from an attached NVMe drive. As no isolated bootloader was available, most people flashed a whole OS onto the eMMC - just to be able to use the attched NVMe drive. This process can take quite a while via the Turing Pi 2 board ( e.g. 60 - 90 minutes: https://docs.turingpi.com/docs/turing-rk1-flashing-os ) it was never a good option.\nNow there is finally a solution brought up by Mister gregordinary from the DietPi Forums - who deserves all the credit ( https://dietpi.com/forum/t/new-turingpi-rk1/19142/9 ):\nOn your local machine:\nMake yourself a working directory and open a terminal in that location. Download the u-boot apk: https://alpine-rk1.cfs.works/packages/main/aarch64/u-boot-turing-2024.04-r0.apk Open it with an archive utility and extract the following files into your working directory:\na. idbloader.img\nb. u-boot.itb Create an .img file we’ll use later to flash the RK1: touch turing-rk1-uboot-only.img You should now have the idbloader.img, u-boot.itb, and turing-rk1-uboot-only.img in your working directory. From there, use dd to create our combined image:\na. dd if=idbloader.img of=turing-rk1-uboot-only.img bs=512 seek=64\nb. dd if=u-boot.itb of=turing-rk1-uboot-only.img bs=512 seek=16384 The resulting .img file can be used to flash the RK1 device through the Web UI or tpi utility. Once generated, this .img can be used \u0026ldquo;as is\u0026rdquo; to flash the other nodes after moving them to NVME. With that generated file you can directly flash the eMMC and use any NVMe to boot from.\n\u0026hellip; and here is already a prepared file if you want to use it directly: turing-rk1-uboot-only.zip\nAfter that, the RK1 will be able to directly boot from an NVMe, given the fact a suitable ARM64 image has been installed on it.\nAnd to install the operating system image onto the NVMe, you can use balenaEtcher with e.g. your Linux, Mac or Windows computer and an USB to NVMe adapter. But please be careful not accidently overwrite one of your interal disks and ruin your computer - I don\u0026rsquo;t take any responsibilty, just in case.\n","date":"2024-09-13T16:45:45Z","permalink":"/posts/2024-09-13-install-a-bootloader-onto-turing-rk1-emmc-memory/","title":"Install a bootloader onto Turing RK1 eMMC memory"},{"content":"\nElektor was looking for some ideas regarding their STM32 Design Contest - and so I thought, why not putting the excellent work of the guys behind the RadioLib to good use and getting this board working in LoRaWAN (and it was easier than I thought :)):\nhttps://www.elektormagazine.com/labs/getting-lorawan-working-with-stm32wl55-and-radiolib\n","date":"2024-01-28T17:24:03Z","permalink":"/posts/2024-01-28-getting-lorawan-working-with-stm32wl55-and-radiolib/","title":"Getting LoRaWAN working with STM32WL55 and Radiolib"},{"content":"Intro In April 2023 I finally got my Turing Pi 2 - happy to finally got it into my hands I plugged it in, headed over to the Turing Pi 2 Github ( https://github.com/turing-machines/BMC-Firmware ) got myself the latest BMC firmware and started to flash it. Thats when things got wrong: The power supply coils started to screech - and seconds later I was greeted with blue smoke and a dead Turing Pi 2. The firmware update actually flashed the board into a paper weight.\nThe one green led was still on, the BMC led was off and the board did not react - also the networking LEDs were off. To be honest, this was the first time a firmware update actually physically bricked hardware / got it up into smoke.\nLuckily, Turing Machines, the company behind Turing Pi 2 did send me another board, thinking that the (also ordered at Turing Machines) small form factor power supply could have been the culprit - thanks a lot guys for that tremendous help!\nThe new board was working without an issue and did wait for quite some time until I updated it - horrified the same thing could happen again. I think I updated it to 1.1.0 and things were ok back then.\nHowever, with half a year passed and still the dead board lying around I thought, maybe I could fix it?\nThe incident What happened was a short circuit - but how? The only thing I could think of was an error in the firmware upgrade - and the BMC processor - a dual core Allwinner T113-S3 - shortcircuiting something as it did not have its initialization correctly. While this should never be possible (e.g. that a board is layouted in such a way that a processor would short-circuit if it has no program available), I had no other explanation. But how to find out what was broken? The incident actually burned the 5A SMD fuse for the 3v3 line - meaning the board was now powering up ok-ish, but without any of the 3v3 components (e.g. the BMC). Short-circuiting the fuse directly lead to warmth and a bad stench - something was still short-circuiting. So I build myself a Thermal Camera. I was quite sure that the T113-S3 was toast by now, so I removed it.\nAfter that, I tried bridging the blown fuse again - this time with an ampere meter. About 6 Watts were going somewhere I did not know. The Thermal Camera showcased an SMD capacitor glowing red - that poor thing got mangled so badly that it decided to become conductive for DC - not good. I removed that capacitor as well - no excess power was drawn anymore after that.\nThe repair I ordered two new Allwinner T113-S3 ( T113-S3 ELQFP-128, position 2 on the picture below ) as well as some spare 5A SMD fuses ( LF5A - 10PCS/LOT 1808 SMD fuse 125V fast 5A, position 1 on the picture below ) from the web. The capacitor with 570uF was replaced by a 12.2uF for testing ( position 3 on the picture below).\nAs soon as I had everything in place, I got the latest firmware image, 2.0.5 from the Turing Pi Website ( https://firmware.turingpi.com/turing-pi2/v2.0.5/tp2-firmware-sdcard-v2.0.5.img ). I flashed it onto a MicroSD Card with balenaEtcher and inserted the MicroSD Card into the appropriate slot on the backside of the Turing Pi 2. With everything in place, I hooked everything up, got myself a flathead screwdriver and shortend the MOSI and SCLK/Clock lines of the flash module on-board of the Turing Pi 2 as mentioned in this issue ticket: https://github.com/turing-machines/BMC-Firmware/issues/134 ( see position 4 in green, the left bottom two legs of the chip ). You can also see the both legs better on the picture below:\nWith my screwdriver still shorting both legs of the flash module, I applied power to the Turing Pi 2. After some seconds, the LEDs came on and the 4 LEDs of the ethernet ports started blinking slowly. I removed the short-circuit on the flash module, pressed KEY1 3 times rapidly and the ethernet ports started turning on one LED at a time. After about 30 seconds, the LEDs stopped the animation and all LEDs blinked twice (again and again) to show the flash was a success. I powered down the Turing Pi 2, removed the MicroSD card and powered it up again - and it was fixed! 🙂\n( Usual procedure for update from a MicroSD Card can be found here: https://docs.turingpi.com/docs/turing-pi2-bmc-v1x-to-v2x )\nGood ending With that, the Turing Pi 2 was fixed - BMC is answering my calls, all four nodes are working. It was not an easy fix by all means, but using a microscope, loads of flux and patience made it work again. And the Thermal Camera! That less than 40 Euro thing really helped a lot, otherwise I would have not found the issue without turning the whole board into a burning mess.\n","date":"2023-12-03T17:56:27Z","permalink":"/posts/2023-12-03-repairing-a-turingpi-2/","title":"Repairing a Turing Pi 2"},{"content":"Intro Thermal Cameras are neat tools, especially in electronics: You can quickly diagnose short circuits, identify misbehaving components or quantify if subsystems get too hot. However, thermal cameras are still a luxury item which can quickly costs hunderds of euros. Sometimes - however - you do not need the accurarcy of a FLIR or similar system, somtimes its just enough to see which part of a PCB is heating up quicker than others. Enter MLX90640: A 32x24 pixel sensor in two different FoVs, exposing its data via i2c. These sensors can be had on different websites for as low as 25 euros during sale.\nComponents/BoM 1x MLX90640 Thermal Sensor 1x Waveshare RP2040 Zero 1x HT7333 LDO 2x SMD Capacitor 10 uF 2x SMD Resistor 2.2k Ohm All in all about 30 Euros\nSchematic Nothing really surprising - a HT7333 with some filter caps to allow for a clean power source, two pull-up resistors to allow for the high-speed, 1 MHz communication via the i2c bus. Keep the i2c wires between RP2040 Zero and the sensor as short as possible and pull-up the i2c SDA/SCL lines directly at the sensor.\nOperation modes There are two operation modes here, you can either choose to use the sensor with the Adafruit and Sparkfun example, which will just write a (very long) ASCII line consiting of 768 comma seperated float values per frame, delimited by \\n. This will also work with a Processing example to showcase the picture (about 4 FPS).\nThe alternative to that, would be using another approach, packing the 768 temperature values not in a data intensive ASCII line, but send them via SLIP protocol to the computer. The processing example is not available for that, but I got some other Python code in the making (about 7.5 FPS).\nSerial Firmware (Serial) Programmed via Arduino using the Arduino-Pico framework, using the Adafruit_MLX90640 library ( https://github.com/adafruit/Adafruit_MLX90640 ) - please be aware that 1 MHz I2C operations and mlx.setRefreshRate(MLX90640_32_HZ) will only work with extremely short wires!\n#include \u0026lt;Adafruit_MLX90640.h\u0026gt;\rAdafruit_MLX90640 mlx;\rfloat frame[32*24]; // buffer for full frame of temperatures\r// uncomment *one* of the below\r#define PRINT_TEMPERATURES\r//#define PRINT_ASCIIART\rvoid setup() {\rwhile (!Serial) delay(10);\rSerial.begin(115200);\rdelay(100);\r//Serial.println(\u0026quot;Adafruit MLX90640 Simple Test\u0026quot;);\rif (! mlx.begin(MLX90640_I2CADDR_DEFAULT, \u0026amp;Wire)) {\rSerial.println(\u0026quot;MLX90640 not found!\u0026quot;);\rwhile (1) delay(10);\r}\r/*\rSerial.println(\u0026quot;Found Adafruit MLX90640\u0026quot;);\rSerial.print(\u0026quot;Serial number: \u0026quot;);\rSerial.print(mlx.serialNumber[0], HEX);\rSerial.print(mlx.serialNumber[1], HEX);\rSerial.println(mlx.serialNumber[2], HEX);\r*/\r//mlx.setMode(MLX90640_INTERLEAVED);\rmlx.setMode(MLX90640_CHESS);\r/*\rSerial.print(\u0026quot;Current mode: \u0026quot;);\rif (mlx.getMode() == MLX90640_CHESS) {\rSerial.println(\u0026quot;Chess\u0026quot;);\r} else {\rSerial.println(\u0026quot;Interleave\u0026quot;); }\r*/\r// mlx.setResolution(MLX90640_ADC_18BIT); //default\rmlx.setResolution(MLX90640_ADC_19BIT);\r/*Serial.print(\u0026quot;Current resolution: \u0026quot;);\rmlx90640_resolution_t res = mlx.getResolution();\rswitch (res) {\rcase MLX90640_ADC_16BIT: Serial.println(\u0026quot;16 bit\u0026quot;); break;\rcase MLX90640_ADC_17BIT: Serial.println(\u0026quot;17 bit\u0026quot;); break;\rcase MLX90640_ADC_18BIT: Serial.println(\u0026quot;18 bit\u0026quot;); break;\rcase MLX90640_ADC_19BIT: Serial.println(\u0026quot;19 bit\u0026quot;); break;\r}\r*/\r//mlx.setRefreshRate(MLX90640_2_HZ);\r//mlx.setRefreshRate(MLX90640_8_HZ);\rmlx.setRefreshRate(MLX90640_32_HZ);\r/*Serial.print(\u0026quot;Current frame rate: \u0026quot;);\rmlx90640_refreshrate_t rate = mlx.getRefreshRate();\rswitch (rate) {\rcase MLX90640_0_5_HZ: Serial.println(\u0026quot;0.5 Hz\u0026quot;); break;\rcase MLX90640_1_HZ: Serial.println(\u0026quot;1 Hz\u0026quot;); break; case MLX90640_2_HZ: Serial.println(\u0026quot;2 Hz\u0026quot;); break;\rcase MLX90640_4_HZ: Serial.println(\u0026quot;4 Hz\u0026quot;); break;\rcase MLX90640_8_HZ: Serial.println(\u0026quot;8 Hz\u0026quot;); break;\rcase MLX90640_16_HZ: Serial.println(\u0026quot;16 Hz\u0026quot;); break;\rcase MLX90640_32_HZ: Serial.println(\u0026quot;32 Hz\u0026quot;); break;\rcase MLX90640_64_HZ: Serial.println(\u0026quot;64 Hz\u0026quot;); break;\r}\r*/\r//Wire.setClock(400000); // max 1 MHz\rWire.setClock(1000000); // max 1 MHz\r// Wire.setClock(3400000); // max 1 MHz\r}\rvoid loop() {\r//delay(500);\rif (mlx.getFrame(frame) != 0) {\r//Serial.println(\u0026quot;Failed\u0026quot;);\rreturn;\r}\r//Serial.println();\r//Serial.println();\rfor (uint8_t h=0; h\u0026lt;24; h++) {\rfor (uint8_t w=0; w\u0026lt;32; w++) {\rfloat t = frame[h*32 + w];\r#ifdef PRINT_TEMPERATURES\rSerial.print(t, 1);\rSerial.print(\u0026quot;,\u0026quot;);\r#endif\r#ifdef PRINT_ASCIIART\rchar c = '\u0026amp;';\rif (t \u0026lt; 20) c = ' ';\relse if (t \u0026lt; 23) c = '.';\relse if (t \u0026lt; 25) c = '-';\relse if (t \u0026lt; 27) c = '*';\relse if (t \u0026lt; 29) c = '+';\relse if (t \u0026lt; 31) c = 'x';\relse if (t \u0026lt; 33) c = '%';\relse if (t \u0026lt; 35) c = '#';\relse if (t \u0026lt; 37) c = 'X';\rSerial.print(c);\r#endif\r}\r//Serial.println();\r}\rSerial.println();\r//Serial.write('\\n'); //10\r}\rSoftware (Serial) To read the data from the sensor, the SparkFun Processing example ( https://learn.sparkfun.com/tutorials/qwiic-ir-array-mlx90640-hookup-guide/all#example-code ) can be used.\nAlternatively, you can use Python 3.x and pyserial, giving back a list of thermal readings which can then be drawn into pictures.\nimport serial\rimport re\rser = serial.Serial('COM12', 115200, timeout=2)\rwhile True:\rline = ser.readline().decode('ascii') # read a '\\n' terminated line\rthermalData = re.split('\\,', line[:-3]) # last ,\\n needs to go!\rprint(thermalData)\rSLIP Firmware (SLIP) Programmed via Arduino using the Arduino-Pico framework, using the Adafruit_MLX90640 library ( https://github.com/adafruit/Adafruit_MLX90640 ) as well as PacketSerial ( https://github.com/bakercp/PacketSerial ) - please be aware that 1 MHz I2C operations and mlx.setRefreshRate(MLX90640_32_HZ) will only work with extremely short wires!\n#include \u0026lt;PacketSerial.h\u0026gt;\rSLIPPacketSerial packetSerial;\r#include \u0026lt;Adafruit_MLX90640.h\u0026gt;\rAdafruit_MLX90640 mlx;\rfloat frame[32*24]; // buffer for full frame of temperatures\rvoid setup() {\rwhile (!Serial) delay(10);\rSerial.begin(460800);\rSerial.setTimeout(100);\rpacketSerial.setStream(\u0026amp;Serial); delay(100);\rif (! mlx.begin(MLX90640_I2CADDR_DEFAULT, \u0026amp;Wire)) {\r//Serial.println(\u0026quot;MLX90640 not found!\u0026quot;);\rwhile (1) delay(10);\r}\r/*\rSerial.println(\u0026quot;Found Adafruit MLX90640\u0026quot;);\rSerial.print(\u0026quot;Serial number: \u0026quot;);\rSerial.print(mlx.serialNumber[0], HEX);\rSerial.print(mlx.serialNumber[1], HEX);\rSerial.println(mlx.serialNumber[2], HEX);\r*/\r//mlx.setMode(MLX90640_INTERLEAVED);\rmlx.setMode(MLX90640_CHESS);\r// mlx.setResolution(MLX90640_ADC_18BIT); //default\rmlx.setResolution(MLX90640_ADC_19BIT);\r//mlx.setRefreshRate(MLX90640_2_HZ);\r//mlx.setRefreshRate(MLX90640_8_HZ);\rmlx.setRefreshRate(MLX90640_32_HZ);\r//Wire.setClock(400000);\rWire.setClock(1000000); // max 1 MHz\r}\rvoid loop() {\rpacketSerial.update();\rif (mlx.getFrame(frame) != 0) {\r//Serial.println(\u0026quot;Failed\u0026quot;);\rreturn;\r} else {\rpacketSerial.send((uint8_t*)\u0026amp;frame, sizeof(frame)); }\r}\rSoftware (SLIP) Using Python 3.x, pyserial and sliplib, giving back a list of thermal readings which can then be drawn into pictures\nimport serial\rimport sliplib\rimport time\rimport struct\rser = serial.Serial('COM12', 115200, timeout=2)\rwhile True:\rbytesToRead = ser.inWaiting()\rif (bytesToRead!=0):\rreadData = ser.read(bytesToRead)\rdecodedData = sliplib.decode(readData)\rif decodedData != b'':\rthermalData = []\rfor i in range(0, len(decodedData), 4):\rthermalData.append(struct.unpack('f', decodedData[i:i+4])[0])\rprint(thermalData)\r# ca. 7.41 Frames raw\relse:\rtime.sleep(0.07)\rFinishing up After connecting everything, I finished the build up by printing a small PLA housing and even printed a TPU cap for the lense itself, so that (via friction fit) the sensor could be just thrown into the toolbox and still would be protected from dust and other issues. Could the finish be gotten more pretty? Yes. Did this hinder its function? Not at all, it already helped me fix up a defective turingPi2 🙂 (maybe something for the next post).\nOptimisation As usual in engineering, some problems can be solved by throwing money at them. In this case, a Teensy 4.x as a processor could significantly increase the data throughput. However, I did not want to pair a 40 Euro MCU with a 25 Euro Sensor - be it for costs and footprints sake - and opted in for the 2.5 Euro RP2040 Zero. Still, performance can be improved over my first optimisation using SLIP - by just using the second core of the RP2040. Ideally you would multi-thread the application, having the first core always retriving new data, while the second core packs it into SLIP packets and sends them on their way. This should be fairly easy and might result in more fps :).\nPhotos ","date":"2023-12-03T00:15:38Z","permalink":"/posts/2023-12-03-building-a-mlx90640-thermal-camera/","title":"Building a MLX90640 Thermal Camera"},{"content":"Intro About a year ago I got some RAK11300 modules - which are a nice combination of an RP2040 alongside a SX1262 radio on one module - designed a breakout board - tested it - and quickly shelved it. Reason was that this module was somewhat Arduino compliant - as stated - however only with RAKwireless Arduino mbedOS Repo. Alongside of it being a bit\u0026hellip; hacked together, it had the issue of not supporting any low power modes for the RP2040 - making it run on both cores at full tilt and consuming batteries in no time. Not the best thing for a portable/battery powered sensor system, I guess?\nSome people tried already to get this RP2040 working with other software - e.g. Micropython or Arduino, but I never heard someone getting it working, so I tried my luck - this is the whole journey from start to finish. Spoiler, it is now working and you can find the example code at the end with Arduino-Pico and RadioLib now fully supporting this module :).\nPinout The most important thing was trying to figure out the internal wiring of the RP2040 to the SX1262 - while RAK did not offer complete schematics, they at least revealed parts of it after asking in the forums :).\nThe antenna switch direction is controlled by the SX1262 itself through DIO2.\rThe antenna switch power is controlled with GPIO25\rIt uses an TCXO\ruint32_t lora_rak11300_init(void)\r{\r_hwConfig.CHIP_TYPE = SX1262; // Chip type, SX1261 or SX1262\r_hwConfig.PIN_LORA_SCLK = 10; // LORA SPI CLK\r_hwConfig.PIN_LORA_MOSI = 11; // LORA SPI MOSI\r_hwConfig.PIN_LORA_MISO = 12; // LORA SPI MISO\r_hwConfig.PIN_LORA_NSS = 13; // LORA SPI CS\r_hwConfig.PIN_LORA_RESET = 14; // LORA RESET\r_hwConfig.PIN_LORA_BUSY = 15; // LORA SPI BUSY\r_hwConfig.RADIO_TXEN = -1; // LORA ANTENNA TX ENABLE (e.g. eByte E22 module)\r_hwConfig.RADIO_RXEN = 25; // LORA ANTENNA RX ENABLE (e.g. eByte E22 module)\r_hwConfig.USE_DIO2_ANT_SWITCH = true; // LORA DIO2 controls antenna\r_hwConfig.USE_DIO3_TCXO = true; // LORA DIO3 controls oscillator voltage (e.g. eByte E22 module)\r_hwConfig.USE_DIO3_ANT_SWITCH = false; // LORA DIO3 controls antenna (e.g. Insight SIP ISP4520 module)\r_hwConfig.PIN_LORA_DIO_1 = 29; // LORA DIO_1\r_hwConfig.USE_RXEN_ANT_PWR = true; // RXEN is used as power for antenna switch\r#ifdef RAK11310_PROTO\r_hwConfig.USE_LDO = true; // True on RAK11300 prototypes because of DCDC regulator problem\r#else\r_hwConfig.USE_LDO = false;\r#endif\rTo sum up:\nRP2040 connects to the SX1262 using SPI1 RP2040 has the same pinout/GPIO output as a generic Raspberry Pi Pico board SPI1 however has its connections twisted a bit SPI1 Pinout: SCLK/CLK/Clock: GPIO 10 MOSI: GPIO 11 MISO: GPIO 12 CS/ChipSelect: GPIO 13 Additional lines needed for SX1262: NRESET: GPIO 14 Busy: GPIO 15 DIO1: GPIO 29 RXEN: GPIO 25 LoRaWAN compliance is mentioned to be 1.0.2 specification compliant with Rev B, however I also saw mentions of 1.0.3 with Rev B RP2040 To get this to work, you can take the legendary Earle F. Philhower\u0026rsquo;s Arduino Pico repo, use the normal RPi Pico board and overwrite the SPI1 positions like so:\nSPI1.setCS(13);\rSPI1.setSCK(10);\rSPI1.setTX(11);\rSPI1.setRX(12);\rSPI1.begin(false);\rhowever, to make it easier I put up a PR to directly change those pinouts and integrate the RAKwireless RAK11300 proper into the arduino-pico framework.\nSX1262 Lets get to the SX1262 library and the implementation of the LoRaWAN communication schema:\nLuckily, Jan Gromeš, maintainer of the awesome RadioLib decided to implement LoRaWAN support - and the SX1262 modules. I tried to get everything working, however, there seem to be some minor issues. His library does detect the SX1262, however, I am not able to join TTN with it. The issue ticket is currently open here.\nThe most weird thing is still the GPIO 25 for me, the mentioned Antenna switch power. It might be all thats needed to put this port as output and put it on high to supply power whenever someone wants to receive/transmit - but I am not really sure yet. I have not found any evidence and I feel something with the join event in the RadioLib is still off as other people also saw issues - so there are probably two different problems right now.\nGetting further To understand the whole idea better, I opened up one RAK11300 and put it under the microscope. Sadly my microscope camera ain\u0026rsquo;t really good, so the picture quality is a bit hit and miss, but as there are no pictures at all on the internet, I thought it might be useful for someone.\nSome details:\nFlash Chip is a Winbond 25Q16JVIQ (16 Mbit, should be 2 MB then?) RP2040 is the usual RP2-B2 Semtech SX1262 Antenna Switch is a small 6 pin part with label 259 128, I not really found anything on the net, pinout looks a bit like that: GPIO25 | Antenna | DIO2(?)\r259\r128\r* VR_PA/RFO | GND | RFI_N/RFI_P So it looks like the RP2040 PIN 25 could be really the \u0026ldquo;power supply\u0026rdquo; for that switch, while the DIO2 of the SX1262 would be changing the switch to either supply the RX or TX chains to the antenna output, however I am not that sure.\nPhotos So, without anymore addition, here are the pictures, sorry for the bad quality.\nIf you have any infos to help on the quest, please let me know :).\nUpdate to the Antenna Switch / GPIO25 (@2023-11-03 17:08) Looking at the lora_rak11300_init, we can quickly find out that the GPIO 25 is used as power to the antenna switch, e.g. switching on the use of the antenna. Its important to see that TXEN=-1, so RXEN and TXEN are not used to determine the direction (e.g. if sending or receiving, but this is done by DIO2/directly by the SX1262 module. The use of RXEN/GPIO25 is purely for powering the Antenna switch:\n_hwConfig.RADIO_TXEN = -1; // LORA ANTENNA TX ENABLE (e.g. eByte E22 module)\r_hwConfig.RADIO_RXEN = 25; // LORA ANTENNA RX ENABLE (e.g. eByte E22 module)\r_hwConfig.USE_RXEN_ANT_PWR = true; // RXEN is used as power for antenna switch\r_hwConfig.USE_DIO2_ANT_SWITCH = true; // LORA DIO2 controls antenna ( https://github.com/beegee-tokyo/SX126x-Arduino/blob/fe6178f82d81e6509a5352f1d2aa85e433e19a7a/src/boards/mcu/board.cpp#L239C25-L239C25 )\nIf we dig a bit deeper, we will find the SX126xIoInit ( https://github.com/beegee-tokyo/SX126x-Arduino/blob/ca879479b25071c568ded9a60f7c060f10c7791a/src/boards/sx126x/sx126x-board.cpp#L49 )\n// Use RADIO_RXEN as power for the antenna switch\rif (_hwConfig.USE_RXEN_ANT_PWR)\r{\rif (_hwConfig.RADIO_TXEN != -1)\rpinMode(_hwConfig.RADIO_TXEN, INPUT);\rpinMode(_hwConfig.RADIO_RXEN, OUTPUT);\rdigitalWrite(_hwConfig.RADIO_RXEN, LOW);\r} This also shows that the GPIO25 is used only as antenna switch power and is configured as output, but still in \u0026ldquo;low\u0026rdquo; mode, e.g. the power switch is off.\nIn all instances of the Antenna used or the TX/RX channels ( SX126xAntSwOn, SX126xAntSwOff, SX126xRXena, SX126xTXena - https://github.com/beegee-tokyo/SX126x-Arduino/blob/ca879479b25071c568ded9a60f7c060f10c7791a/src/boards/sx126x/sx126x-board.cpp#L496-L555 ) we can see that the GPIO25 is pulled high, e.g powers on the Antenna Switch - and powers down after sending. It does not make a difference if TX or RX is needed, its always HIGH/ON when the antenna is used and LOW/OFF when its not. Probably to preserve energy. So basically, we would need to always set GPIO25 as output and pull it high when we need to use the module.\nUpdate to RadioLib (@2023-11-03 20:29) I got TTN working, however Chirpstack proved to be difficult. Reason was the error \u0026ldquo;ERROR chirpstack::uplink: Deduplication error error=Unknown data-rate: Lora(LoraDataRate { spreading_factor: 7, bandwidth: 125000, coding_rate: “4/7” })\u0026rdquo; reason for that was that RadioLib accidently tries to drive EU868 packets with 4/7 instead of 4/5 coding rate - so these packets are thrown away right away ( https://forum.chirpstack.io/t/error-unknown-data-rate-on-eu868-with-coding-rate-4-7/16109 ). I made a PR ( https://github.com/jgromes/RadioLib/pull/865 ) to fix that issue. There is also an error in the LoRaWAN example as handled by this PR ( https://github.com/jgromes/RadioLib/pull/866 ). With that we can finally join TTN and Chirpstack v4 servers! What is still a problem, is re-connecting: Trying to restore a connection ends with an issue -1101 in RadioLib, seems to be what was described beforehand in https://github.com/jgromes/RadioLib/issues/858. Lets see if we find something. Other than that, its looking so much better already :)/\nUpdate to RadioLib (@2023-11-04 16:25) The issue with the restore of the connection is now also solved, it was an issue with the \u0026ldquo;software\u0026rdquo; EEPROM on the RP2040 and has now been fixed by a PR ( https://github.com/jgromes/RadioLib/pull/868 ). The switching of the Antenna Switch can be done as such (kudos also to Jan from RadioLib for pointing it out :)) static const uint32_t rfswitch_pins[] = { 25, RADIOLIB_NC, RADIOLIB_NC };\rstatic const Module::RfSwitchMode_t rfswitch_table[] = {\r{MODE_IDLE, { LOW }},\r{MODE_RX, { HIGH }},\r{MODE_TX, { HIGH }},\rEND_OF_MODE_TABLE,\r};\r(...)\rradio.setRfSwitchTable(rfswitch_pins, rfswitch_table); // must be called before begin!\rradio.begin(); There is currently a big PR from StevenCellist ( https://github.com/jgromes/RadioLib/pull/867 ) being put together which will make everything a lot better - I tested it and now the RAK11300 is fully working! Currently still working on getting my PR for the RAK11300 included in the arduino-pico, but we are getting there 🙂 Update to RadioLib (@2023-11-12 14:02) RadioLib has accepted the PR and the needed commits are now in the main branch.\nBoth RadioLib and Arduino-Pico have not yet posted a new release version, so if you want to use the tech right now, you need to install the current main git branches.\nUpdate to Arduino-Pico (@2023-11-22) Earle has now released arduino-pico 3.6.1 which does include my contribution and adds the RAK11300 as its own board to his awesome Arduino Core ( https://github.com/earlephilhower/arduino-pico/releases/tag/3.6.1 ). You can download it right now via the Arduino Board Manager. So we just need for the latest RadioLib to drop :).\nUpdate to RadioLib (@2023-11-29) Jan has now pushed RadioLib 6.3.0 which includes all changes and fixes to support the module 🙂 ( https://github.com/jgromes/RadioLib/releases/tag/6.3.0 ). I am thinking about putting up a finale example to use it and then this project to support the RAK11300 directly via Arduino will be finished.\nFull Example / Closing thoughts (@2023-12-01) Following full example shows all magic needed to use RAK11300 with the Arduino-Pico 3.6.1 (using either the standard Raspberry Pi Pico or the RAKwireless RAK11300 as board setting) and RadioLib 6.3.0. It was kind of quite a ride and I am very pleased with this working now, finally. Thanks a lot for all that helped make this a reality. All the best 🙂\n/*\rRadioLib LoRaWAN End Device Persistent Example\rThis example assumes you have tried one of the OTAA or ABP\rexamples and are familiar with the required keys and procedures.\rThis example restores and saves a session such that you can use\rdeepsleep or survive power cycles. Before you start, you will have to register your device at https://www.thethingsnetwork.org/\rand join the network using either OTAA or ABP.\rPlease refer to one of the other LoRaWAN examples for more\rinformation regarding joining a network.\rNOTE: LoRaWAN requires storing some parameters persistently!\rRadioLib does this by using EEPROM, by default\rstarting at address 0 and using 384 bytes.\rIf you already use EEPROM in your application,\ryou will have to either avoid this range, or change it\rby setting a different start address by changing the value of\rRADIOLIB_HAL_PERSISTENT_STORAGE_BASE macro, either\rduring build or in src/BuildOpt.h.\rFor default module settings, see the wiki page\rhttps://github.com/jgromes/RadioLib/wiki/Default-configuration\rFor full API reference, see the GitHub Pages\rhttps://jgromes.github.io/RadioLib/\r*/\r// include the library\r#include \u0026amp;lt;RadioLib.h\u0026amp;gt;\r// RAK11300\r// SX1262 on RAK11300 has the following connections:\r// pin name pin number pin mnemonic (RAK11300 board in arduino-pico)\r// SPI1 NSS/CS: 13 PIN_SPI1_SS\r// BUSY/GPIO: 15 PIN_SX1262_BUSY // RESET/RST: 14 PIN_SX1262_NRESET\r// DIO1/IRQ: 29 PIN_SX1262_DIO1 // RXEN/swpwr: 25 PIN_SX1262_ANT_PWR // SPI1 CLK: 10 PIN_SPI1_SCK // SPI1 MOSI: 11 PIN_SPI1_MOSI // SPI1 MISO: 12 PIN_SPI1_MISO\r// RAK 11300 setup of SX1262 Radio\rSPISettings spiSettings(2000000, MSBFIRST, SPI_MODE0);\rSX1262 radio = new Module(13, 29, 14, 15, SPI1, spiSettings);\r// RAK11300 setup of RF switch configuration\r// powers up RF switch when modules wants to send or receive data\rstatic const uint32_t rfswitch_pins[] = {25, RADIOLIB_NC, RADIOLIB_NC};\rstatic const Module::RfSwitchMode_t rfswitch_table[] = {\r{Module::MODE_IDLE, {LOW}},\r{Module::MODE_RX, {HIGH}},\r{Module::MODE_TX, {HIGH}},\rEND_OF_MODE_TABLE,\r};\r// create the node instance on the EU-868 band\r// using the radio module and the encryption key\r// make sure you are using the correct band\r// based on your geographical location!\rLoRaWANNode node(\u0026amp;radio, \u0026amp;EU868);\rvoid setup() {\rSerial.begin(9600);\r// RAK11300 set SPI1 ports correctly\rSPI1.setCS(13);\rSPI1.setSCK(10);\rSPI1.setTX(11);\rSPI1.setRX(12);\rSPI1.begin(13);\r// RAK11300 add RF switch configuration to radio\rradio.setRfSwitchTable(rfswitch_pins, rfswitch_table);\r// initialize SX1262 with default settings\rSerial.print(F(\u0026#34;[SX1262] Initializing ... \u0026#34;));\rint state = radio.begin();\rif(state == RADIOLIB_ERR_NONE) {\rSerial.println(F(\u0026#34;success!\u0026#34;));\r} else {\rSerial.print(F(\u0026#34;failed, code \u0026#34;));\rSerial.println(state);\rwhile(true);\r}\r// first we need to initialize the device storage\r// this will reset all persistently stored parameters\r// NOTE: This should only be done once prior to first joining a network!\r// After wiping persistent storage, you will also have to reset\r// the end device in TTN and perform the join procedure again!\r// Here, a delay is added to make sure that during re-flashing\r// the .wipe() is not triggered and the session is lost\r// delay(5000);\r// node.wipe();\r// now we can start the activation\r// Serial.print(F(\u0026#34;[LoRaWAN] Attempting over-the-air activation ... \u0026#34;));\r// uint64_t joinEUI = 0x12AD1011B0C0FFEE;\r// uint64_t devEUI = 0x70B3D57ED005E120;\r// uint8_t nwkKey[] = { 0x74, 0x6F, 0x70, 0x53, 0x65, 0x63, 0x72, 0x65,\r// 0x74, 0x4B, 0x65, 0x79, 0x31, 0x32, 0x33, 0x34 };\r// uint8_t appKey[] = { 0x61, 0x44, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65,\r// 0x6E, 0x74, 0x4B, 0x65, 0x79, 0x41, 0x42, 0x43 };\r// state = node.beginOTAA(joinEUI, devEUI, nwkKey, appKey);\r// after the device has been activated,\r// the session can be restored without rejoining after device power cycle\r// on EEPROM-enabled boards by calling \u0026#34;restore\u0026#34;\rSerial.print(F(\u0026#34;[LoRaWAN] Resuming previous session ... \u0026#34;));\rstate = node.restore();\rif(state == RADIOLIB_ERR_NONE) {\rSerial.println(F(\u0026#34;success!\u0026#34;));\r} else {\rSerial.print(F(\u0026#34;failed, code \u0026#34;));\rSerial.println(state);\rwhile(true);\r}\r}\r// counter to keep track of transmitted packets\rint count = 0;\rvoid loop() {\r// send uplink to port 10\rSerial.print(F(\u0026#34;[LoRaWAN] Sending uplink packet ... \u0026#34;));\rString strUp = \u0026#34;Hello World! #\u0026#34; + String(count++);\rString strDown;\rint state = node.sendReceive(strUp, 10, strDown);\rif(state == RADIOLIB_ERR_NONE) {\rSerial.println(F(\u0026#34;received a downlink!\u0026#34;));\r// print data of the packet (if there are any)\rSerial.print(F(\u0026#34;[LoRaWAN] Data:\\t\\t\u0026#34;));\rif(strDown.length() \u0026amp;gt; 0) {\rSerial.println(strDown);\r} else {\rSerial.println(F(\u0026#34;\u0026amp;lt;MAC commands only\u0026amp;gt;\u0026#34;));\r}\r// print RSSI (Received Signal Strength Indicator)\rSerial.print(F(\u0026#34;[LoRaWAN] RSSI:\\t\\t\u0026#34;));\rSerial.print(radio.getRSSI());\rSerial.println(F(\u0026#34; dBm\u0026#34;));\r// print SNR (Signal-to-Noise Ratio)\rSerial.print(F(\u0026#34;[LoRaWAN] SNR:\\t\\t\u0026#34;));\rSerial.print(radio.getSNR());\rSerial.println(F(\u0026#34; dB\u0026#34;));\r// print frequency error\rSerial.print(F(\u0026#34;[LoRaWAN] Frequency error:\\t\u0026#34;));\rSerial.print(radio.getFrequencyError());\rSerial.println(F(\u0026#34; Hz\u0026#34;));\r} else if(state == RADIOLIB_ERR_RX_TIMEOUT) {\rSerial.println(F(\u0026#34;no downlink!\u0026#34;));\r} else {\rSerial.print(F(\u0026#34;failed, code \u0026#34;));\rSerial.println(state);\r}\r// on EEPROM enabled boards, you can save the current session\r// by calling \u0026#34;saveSession\u0026#34; which allows retrieving the session after reboot or deepsleep\rnode.saveSession();\r// wait before sending another packet\r// alternatively, call a deepsleep function here\r// make sure to send the radio to sleep as well using radio.sleep()\rdelay(30000);\r} ","date":"2023-11-03T16:08:49Z","permalink":"/posts/2023-11-03-rak11300-teardown/","title":"RAK11300 - Getting it to work with Arduino-Pico and RadioLib!"},{"content":"I just released my latest project, a CCSDS reassembler running on an NXP i.MX RT1060 in RT-Thread OS. You can find it on Github: https://github.com/nmaas87/CCSDS-TM-FSM\n","date":"2023-06-03T22:35:14Z","permalink":"/posts/2023-06-04-rt-thread-iot-contest-2023-with-nxp-i-mx-rt1060-ccsds-tm-fsm/","title":"RT-Thread IoT-Contest 2023 with NXP i.MX RT1060 - CCSDS-TM-FSM"},{"content":"The folks over at RT-Thread decided to make a IOT-Contest using hardware from different vendors and their RT-Thread OS. I was luckily enough to get chosen for a networking project with the NXP i.MX RT1060 EVKB, so I decided to document my journey first getting started with RT-Thread. Here we go! 🙂\nGetting started First of all, its important to know that there are two version of the MIMXRT1060 - the EVK and the EVKB. The EVK seems to be an older version which also includes a Camera sensor module, the EVKB version the recent one. RT-Threads example on Github is for the EVK version, which means things like User LED blinking does not work out of the box, but we will take care of this later.\nNXP i.MX RT1060 EVKB files and documentation You\u0026rsquo;ll need to create a free user account on NXPs webpage to download the User manual and Schematic, otherwise the last two links will not work.\nMain Page: https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/i-mx-rt1060-evaluation-kit:MIMXRT1060-EVKB User manual: https://www.nxp.com/webapp/Download?colCode=MIMXRT1060EVKBUM Schematic: https://www.nxp.com/webapp/Download?colCode=MIMXRT1060-EVKB-DESIGNFILES RT-Thread Setup Main RT-Thread Github Page for the NXP i.MX RT1060: https://github.com/RT-Thread/rt-thread/tree/master/bsp/imxrt/imxrt1060-nxp-evk\nIf not yet done, download and install Git\nRT-Thread Studio: https://www.rt-thread.io/studio.html\nJust download and install (e.g. D:\\RT-ThreadStudio) envTool: https://github.com/RT-Thread/env-windows/releases\nPick the latest env-windows-v*.7z and download Unzip the included folder (e.g. D:\\RT-ThreadStudioEnv\\env-windows-v1.3.5) Start env.exe Click on the Hamburger Menu, Settings, Integration Click on \u0026ldquo;Register\u0026rdquo; and \u0026ldquo;Save settings\u0026rdquo;, close the settings menu and the envTool More detailed info for the envTool can be found: https://github.com/RT-Thread/rt-thread/blob/master/documentation/env/env.md RT-Thread Github Repo: https://github.com/RT-Thread/rt-thread\nClone the repo ( git clone https://github.com/RT-Thread/rt-thread.git ) to your system, (e.g. to D:\\RT-ThreadGithub) First project\nStart RT-Thread Studio File -\u0026gt; Import -\u0026gt; RT-Thread Bsp Project into Workspace Bsp Location (within the Github Repo): D:\\RT-ThreadGithub\\rt-thread\\bsp\\imxrt\\imxrt1060-nxp-evk Project Name: What you want, I choose blinky Chip Name: MIMXRT1060 Debugger: DAP-LINK click finish This will lead to an error, pointing you to the workspace folder ( e.g. mine is D:\\RT-ThreadStudio\\workspace.metadata ) where a .log file resides. Open it up and scroll to the end. At this time in the development, there seems to be an error with the initial compilation shown with this error: \u0026#34;!MESSAGE D:\\RT-ThreadGithub\\rt-thread\\bsp\\imxrt\\imxrt1060-nxp-evk\u0026gt;scons --dist-ide --project-path=D:\\RT-ThreadStudio\\workspace/blinky --project-name=blinky\u0026#34;``. To fix this issue, navigate with the windows explorer to the folder D:\\RT-ThreadGithub\\rt-thread\\bsp\\imxrt\\imxrt1060-nxp-evk. Within the folder, hold shift and right-click and choose ConEmu Here - the envTools will open up. Just copy and paste the complete scons command (scons --dist-ide --project-path=D:\\RT-ThreadStudio\\workspace/blinky --project-name=blinky) into the envTools window and press enter. It should compile now.\nuser@system D:\\RT-ThreadGithub\\rt-thread\\bsp\\imxrt\\imxrt1060-nxp-evk\r\u0026gt; scons --dist-ide --project-path=D:\\RT-ThreadStudio\\workspace/blinky --project-name=blinky\rscons: Reading SConscript files ...\rNewlib version: 4.1.0\rmake distribution....\r=\u0026gt; imxrt1060-nxp-evk\r=\u0026gt; start dist handle\r=\u0026gt; copy imxrt bsp library\r=\u0026gt; copy bsp drivers\r=\u0026gt; copy bsp peripherals\r=\u0026gt; components\r=\u0026gt; include\r=\u0026gt; libcpu\r=\u0026gt; src\r=\u0026gt; tools\rUpdate configuration files...\rsuggest to use command scons --dist [--target=xxx] [--project-name=xxx] [--project-path=xxx]\rdist project successfully! After this step, click finish in the still open import menu in RT-Thread Studio again, it should work now and generate the new project.\nNavigate within Project Explorer through the Projectname to applications\\ and open the main.c file.\nReplace\n/* defined the LED pin: GPIO1_IO9 */\r#define LED0_PIN GET_PIN(1, 9)\rint main(void)\r{\r#ifndef PHY_USING_KSZ8081\r/* set LED0 pin mode to output */\rrt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT);\rwhile (1)\r{\rrt_pin_write(LED0_PIN, PIN_HIGH);\rrt_thread_mdelay(500);\rrt_pin_write(LED0_PIN, PIN_LOW);\rrt_thread_mdelay(500);\r}\r#endif\r} with\n/* defined the LED pin: GPIO1_IO8 */\r#define LED0_PIN GET_PIN(1, 8)\rint main(void)\r{\r#ifndef PHY_USING_KSZ8081\r/* set LED0 pin mode to output */\rrt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT);\rwhile (1)\r{\rrt_pin_write(LED0_PIN, PIN_HIGH);\rrt_thread_mdelay(500);\rrt_pin_write(LED0_PIN, PIN_LOW);\rrt_thread_mdelay(500);\r}\r#endif\r} and save the file. The User LED on the EVKB board is not on IO PIN 9, but 8. Also, this pin is shared with the ethernet controller - so if we enable this later, the User LED will not work anymore.\nClick on the hammer icon (\u0026ldquo;Build \u0026lsquo;Debug\u0026rsquo;\u0026rdquo;) and it should compile the new software.\nClick on the downward green arrow (\u0026ldquo;Flash Download\u0026rdquo;) to download the program to the hardware board. The User LED should now be flashing.\nThere can be multiple issues at Download:\nA window with \u0026ldquo;J-Link Emulator selection\u0026rdquo; pops up and asks for connection methods. This error means that RT-Thread Studio tries to program via Segger Link, which is the incorrect flash tool for the EVKB. If this comes up, please click no on the J-Link screen. Then check on the little black arrow attached to the Flash Download icon, that \u0026ldquo;DAP-LINK\u0026rdquo; is checked. Afterwards try Downloading again. \u0026ldquo;pyocd.core.exceptions.TargetSupportError: Target type \u0026lsquo;mimxrt1060\u0026rsquo; not recognized.\u0026rdquo; If this error arises it can mean two things: You did not enter the Chip Name correctly. Please check that the error is really mimxrt1060 - and no spelling issues are there. If there are, go to the Cogwheel Icon (\u0026ldquo;Debug configuration\u0026rdquo;), Debugger tab and correct the Chip Name within the Device name area. Click Ok to save and try again. Scroll up through the error list and you might see the path of the pyocd software, e.g. RealThread\\PyOCD\\0.1.3 - this would mean you\u0026rsquo;re running the default PyOCD 0.1.3 - which has some errors that will mean you cannot download to flash. Directly next to the \u0026ldquo;Flash Download\u0026rdquo; icon is the \u0026ldquo;SDK Manager\u0026rdquo;, open it up and scroll down to the \u0026ldquo;Debugger_Support_Packages\u0026rdquo;, \u0026ldquo;PyOCD\u0026rdquo;. Choose the latest version (e.g. 0.2.0) and click on \u0026ldquo;Install packages\u0026rdquo;. You can then select the old version(s) you have installed and click on \u0026ldquo;Delete packages\u0026rdquo;. Afterwards close the SDK Manager. This should fix the issue. If there are no issues with the Download, can you also \u0026ldquo;Open a Terminal\u0026rdquo; (computer screen icon close to \u0026ldquo;Flash Download\u0026rdquo;). And start with the correct settings (e.g. 115200 BAUD and the correct Serial port, should be chosen automatically if you already flashed a program before). You should see the RT msh console running on your EVKB and be able to send a \u0026ldquo;help\u0026rdquo; to get an overview over the device\n\\ | /\r- RT - Thread Operating System\r/ | \\ 5.0.1 build May 28 2023 14:25:59\r2006 - 2022 Copyright by RT-Thread team\rmsh \u0026gt;help\rRT-Thread shell commands:\rclear - clear the terminal screen\rversion - show RT-Thread version information\rlist - list objects\rhelp - RT-Thread shell help.\rps - List threads in the system.\rfree - Show the memory usage in the system.\rpin - pin [option]\rreboot - reset system\rmsh \u0026gt; To get a little bit further into a project, I replaced the main.c PIN definition and main() with following code\n// wrong definition, GPIO1_IO9 is ethernet leds on EVKB\r// #define LED0_PIN GET_PIN(1, 9)\r// D8 (GPIO01-08) is the user led\r#define LED0_PIN GET_PIN(1, 8)\r// SW5 (GPIO5-00) is the user button\r#define SW5_PIN GET_PIN(5, 0)\rint main(void)\r{\r#ifndef PHY_USING_KSZ8081\r// set LED0 pin mode to output\rrt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT);\r// set SW5 pin mode to pullup\rrt_pin_mode(SW5_PIN, PIN_MODE_INPUT_PULLUP);\rwhile (1)\r{\rif (!rt_pin_read(SW5_PIN)) {\rrt_pin_write(LED0_PIN, PIN_HIGH);\r} else {\rrt_pin_write(LED0_PIN, PIN_LOW);\r}\r/*\rrt_pin_write(LED0_PIN, PIN_HIGH);\rrt_thread_mdelay(500);\rrt_pin_write(LED0_PIN, PIN_LOW);\rrt_thread_mdelay(500);\r*/\r}\r#endif\r} This will couple the LED to the status of the user switch (SW5): If its pressed, the LED will turn on, if its not pressed, the LED will stay off. Just save, re-compile and re-download.\nBugs As seen there are some bugs already found:\nRT-Thread Studio error upon trying to import a project RT-Thread Studio failing to choose the correct debugger even though it was selected on creation/import of the project pyocd error upon download of firmware to the NXP MCU due to old pyocd version shipped with RT-Thread Studio Integration of the menuconfig tooling as \u0026ldquo;RT-Thread Settings\u0026rdquo; within RT-Thread Studio - but it just does not have any effect on the project I hope that these issues get solved soon - but with the infos above you should be able to get started. I will see you in the next post - probably going through the project I made :).\n","date":"2023-05-30T18:44:24Z","permalink":"/posts/2023-05-30-rt-thread-iot-contest-2023-with-nxp-i-mx-rt1060-getting-started/","title":"RT-Thread IoT-Contest 2023 with NXP i.MX RT1060 - Getting started"},{"content":"Here is my presentation to Yamcs @ PiAndMore 13 (University of Applied Sciences Trier, 22.04.2023)\nYamcs_PiAndMore13.pdf\nVideorecording can be found here\n","date":"2023-04-25T13:54:10Z","permalink":"/posts/2023-04-25-piandmore-yamcs-presentation/","title":"[PiAndMore] Yamcs Presentation"},{"content":"Here is my presentation to TinyGS @ PiAndMore 13 (University of Applied Sciences Trier, 22.04.2023)\nTinyGS_PiAndMore13.pdf\nVideorecording can be found here\n","date":"2023-04-25T13:52:51Z","permalink":"/posts/2023-04-25-piandmore-tinygs-presentation/","title":"[PiAndMore] TinyGS Presentation"},{"content":"Here is my presentation to the Raspberry Pi Introduction @ PiAndMore 13 (University of Applied Sciences Trier, 22.04.2023)\nRPi_PiAndMore13.pdf\nVideorecording can be found here\n","date":"2023-04-25T13:51:30Z","permalink":"/posts/2023-04-25-piandmore-raspberry-pi-introduction-presentation-5/","title":"[PiAndMore] Raspberry Pi Introduction Presentation"},{"content":"Last week I posted the review of the Advantech AIR-020X with which I used to create the labSentinel 2 system.\nI remarked that the hardware was great, however the software support and update capability of the system was severly lagging behind for an \u0026ldquo;industrial floor, always on\u0026rdquo; type of machine. Luckily, thats exactly what balena has been created for.\nEven better, their environment already support Nvidia Jetson devices - also Nvidia Jetson Xavier NX modules. With the AIR-020X being a really nice carrierboard (and housing) for this module, I went to work.\nInstalling balenaOS on the AIR-020X I setup an Ubuntu 20.04 LTS machine, installed npm and setup jetson-flash I went to https://www.balena.io/os and downloaded the latest NVIDIA JETSON XAVIER NX DEVKIT EMMC image (2.107.10) in the development version. Unzip the file after setting up jetson-flash and getting your AIR-020X into recovery mode. This means opening the bottom of the case by unscrewing the 4 philipps head screws, connecting the Micro USB port of the AIR-020X with your Ubuntu host computer, applying power to the AIR-020X, but do not yet press the power switch. There is foil/recovery switch next to the Micro USB connector and LAN port. You need to press and hold this switch and at the same time press the power on button of the unit for about 4 seconds. On Ubuntu, run lsusb | grep Nvidia - this should return a similar line to this Bus 003 Device 005: ID 0955:7023 NVIDIA Corp. APX Import is the ending \u0026ldquo;APX\u0026rdquo;, which means it is in recovery mode. 6. Now you can start the flash process\nuser@balenaTest:~/jetson-flash$ ./bin/cmd.js -f ./jetson-xavier-nx-devkit-emmc-2.107.10-v14.4.4.img -m jetson-xavier-nx-devkit-emmc The .img value points to the unzipped image file, the -m tells the jetson-flash tool that we are running a Xavier NX system and want to install balenaOS on the internal eMMC module. 7. This will now start the process which will take some minutes and also ask you for your sudo password. At the end you should see something like this:\n[ 255.8670 ] Flashing completed [ 255.8670 ] Coldbooting the device [ 255.8696 ] tegrarcm_v2 --ismb2 [ 255.9454 ] [ 255.9502 ] tegradevflash_v2 --reboot coldboot [ 255.9530 ] Bootloader version 01.00.0000 [ 255.9984 ] *** The target t186ref has been flashed successfully. *** Reset the board to boot from internal eMMC. As soon as you reboot the device, you will be greeted with the balenaOS logo and can use it as any other balenaOS device. Adding the AIR-020X to a fleet If you want to use it e.g. in a fleet, I would recommend creating a new one with the device type Nvidia Jetson Xavier. This is important to allow sample projects to correctly work, as its basically the same thing as the more specialized version \u0026ldquo;jetson-xavier-nx-devkit-emmc\u0026rdquo; - but most demo projects just implement the former one :).\nTo now join the installed device onto your new fleet, download and install balenaCLI - login to your balena Cloud account and do a balena scan using balenaCLI to find your AIR-020X on the network.\n- host: 56e1ef3.local address: 192.168.178.112 osVariant: development dockerInfo: Containers: 1 ContainersRunning: 1 ContainersPaused: 0 ContainersStopped: 0 Images: 1 Driver: overlay2 SystemTime: 2023-03-10T14:05:52.568438957Z KernelVersion: 4.9.253-l4t-r32.7 OperatingSystem: balenaOS 2.107.10 Architecture: aarch64 dockerVersion: Version: 20.10.17 ApiVersion: 1.41 After that, you can easily join this device with\n.\\balena join 192.168.178.112 ? Select fleet \u0026lt;yourFleetNameToSelect\u0026gt; ? Check for updates every X minutes 10 [Success] Device successfully joined balena-cloud.com! \u0026hellip; and voila, its online!\nWhat does work? The AIR-020X has a lot of custom GPIO chips, 2x RS485/RS232 interface, 1x CANbus interface, a second network interface and even a NVMe. Luckily, everything just works out of the box.\n- HDMI works - USB works - onboard network card (dmesg + dhcp test, gets ip / works) [ 29.231807] eqos 2490000.ether_qos eth0: Link is Up - 1Gbps/Full - flow control rx/tx - 2nd network card (dmesg + dhcp test, get ip / works) [ 104.307175] igb 0004:05:00.0 enP4p5s0: igb: enP4p5s0 NIC Link is Up 1000 Mbps Full Duplex, Flow - NVMe is recognized (lsblk) nvme0n1 259:0 0 119.2G 0 disk |-nvme0n1p1 259:1 0 96G 0 part |-nvme0n1p2 259:2 0 64M 0 part |-nvme0n1p3 259:3 0 64M 0 part |-nvme0n1p4 259:4 0 448K 0 part |-nvme0n1p5 259:5 0 448K 0 part |-nvme0n1p6 259:6 0 63M 0 part |-nvme0n1p7 259:7 0 512K 0 part |-nvme0n1p8 259:8 0 256K 0 part |-nvme0n1p9 259:9 0 256K 0 part |-nvme0n1p10 259:10 0 300M 0 part `-nvme0n1p11 259:11 0 22.8G 0 part - can bus interface is auto loaded on boot (see ifconfig -a) can0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 NOARP MTU:16 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:10 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:63 - gpio/dio, works, but bit3 does sadly not work ( more info: http://ess-wiki.advantech.com.tw/view/File:AIR-020-nVidia_GPIO.docx ) Pin Number AIR-020X AIR-020T AIR-020N GPIO bit1 393 269 38 GPIO bit2 421 425 149 GPIO bit3 265 411 65 GPIO bit4 424 264 168 GPIO bit5 418 476 202 GPIO bit6 436 396 246 GPIO bit7 417 337 169 GPIO bit8 268 338 194 # set bit 1 as GPIO pin echo 393 \u0026gt; /sys/class/gpio/export # get value 0=low, 1=high cat /sys/class/gpio/gpio393/value # set direction out or in echo out \u0026gt; /sys/class/gpio/gpio393/direction # get direction cat /sys/class/gpio/gpio393/direction out # set value on out pin echo 1 \u0026gt; /sys/class/gpio/gpio393/value test: # 265, bit3 did not work on export echo 393 \u0026gt; /sys/class/gpio/export echo 421 \u0026gt; /sys/class/gpio/export echo 265 \u0026gt; /sys/class/gpio/export echo 424 \u0026gt; /sys/class/gpio/export echo 418 \u0026gt; /sys/class/gpio/export echo 436 \u0026gt; /sys/class/gpio/export echo 417 \u0026gt; /sys/class/gpio/export echo 268 \u0026gt; /sys/class/gpio/export echo out \u0026gt; /sys/class/gpio/gpio393/direction echo out \u0026gt; /sys/class/gpio/gpio421/direction echo out \u0026gt; /sys/class/gpio/gpio265/direction echo out \u0026gt; /sys/class/gpio/gpio424/direction echo out \u0026gt; /sys/class/gpio/gpio418/direction echo out \u0026gt; /sys/class/gpio/gpio436/direction echo out \u0026gt; /sys/class/gpio/gpio417/direction echo out \u0026gt; /sys/class/gpio/gpio268/direction echo 1 \u0026gt; /sys/class/gpio/gpio393/value echo 1 \u0026gt; /sys/class/gpio/gpio421/value echo 1 \u0026gt; /sys/class/gpio/gpio265/value echo 1 \u0026gt; /sys/class/gpio/gpio424/value echo 1 \u0026gt; /sys/class/gpio/gpio418/value echo 1 \u0026gt; /sys/class/gpio/gpio436/value echo 1 \u0026gt; /sys/class/gpio/gpio417/value echo 1 \u0026gt; /sys/class/gpio/gpio268/value - com ports, running as RS-232 or RS-485 (not tested, but recognized) ( more info: http://ess-wiki.advantech.com.tw/view/AIR-020-RS-485 ) root@56e8bf3:/# ls /dev/ | grep ttyTH ttyTHS0 \u0026lt;- COM1 ttyTHS1 \u0026lt;- COM2 ttyTHS4 More info to the hardware can be found in the Advantech Wiki.\nGPU Demos Last but not least I want to point you towards the nice balena Jetson tutorial which can be found here.\nIt will help you getting started with Jetson samples that are hosted here.\nIn the end I was able to also get CUDA acceleration to work and see this smoke demo:\nWith that I am closing this post. It was surprisingly easy to get this device to work - the only thing left would be to get it to boot and to work from its internal NVMe storage, but other than that its a nice tool for working with GPU workloads like Edge Impulse.\n","date":"2023-03-10T17:20:44Z","permalink":"/posts/2023-03-10-balenaos-on-the-advantech-air-020x/","title":"balenaOS on the Advantech AIR-020X"},{"content":"Normally, I am not getting review units. This is due to the fact that I am only hosting this small weblog, along some conference talks - and most companies would probably be better off to send their units along someone with a reach of Linus Tech Tips, or similar.\nOn the other hand - when I get the possibility to do a review, it can be a bit worrisome for the companies as well, as I am a very honest person. I have been working in tech for some time now and had the honor to build stuff which went to space - and came back to tell the tale. I know what I want in a unit - and what could be a problem.\nWith this out of the way, I was one lucky winner of the Advantech Edge AI Challenge 2022 and got an AIR-020X-S9A1 unit at no charge to be able to realize my labSentinel 2 project. By doing this project I learned a bit about the box and thought it would not be a bad idea to share my ideas with the readers of my blog - and also Advantech, so that they can improve upon their product. This review is not paid for, reflects my own thoughts and I got the mentioned unit for my project - the review was not a part of that deal. With that out of the way, lets get started.\nThe hardware The AIR-020X comes very well packaged - having its own foam jacket which will save it from all but the most horrible abuse from postal services. Not that it would matter: The roughly 14 cm x 12 cm x 4,5 cm compact unit weighs in at nearly 850 gr and is built sturdy and robust - like a tank:\nThe most obvious part of the unit is its heatsink, which it does put to good use - but more on that topic later. Along with the computer itself comes a chinese printed starting guide and a short USB A to Micro B cable, which will be needed to factory reset and reflash the unit.\nAll in all, the AIR-020X is an impressive unit, including an Nvidia Jetson Xavier NX module with 8 GB RAM, 16 GB onboard eMMC, 128 GB M.2 Flash, 2x RS232/422/485, 1x CANbus, 1xDIO (\u0026ldquo;GPIO\u0026rdquo;), 2x 1 Gbit ethernet, 1x Fullsize mPCIe with nano SIM holder, 1x 4k HDMI Output, 2x USB 3.0 Type A, 1x USB Type C. The unit is powered by a 12-24 V DC power supply, which is an optional accessory.\nBeing an industrial unit, it uses an industrial type connector for power, which is an HT5.08 2 pole type:\nAs this connector is also not part of the base package and the USB C connector does not accept power delivery (and neither works in Display Port Mode) - it becomes a bit harder to power up the unit after receiving it. Finding a usable power supply within the sizable voltage range of 12 - 24 V (e.g. from an old Laptop) is fairly easy, but without the connector - it becomes a dead end until the next delivery is there. It would be useful to at least include one connector with the base unit. The usb cable is a nice addition, but could be left out (even though its very high quality) - along with the chinese manual. This could be replaced with a small card with direct links to the english and chinese PDF versions of the manual.\nOpening up the unit reveals the internals - but not without a fight:\nThe used screws are perfectly fixed to the structure by using blue loctite - a touch I cannot recommend enough for the vibration resistance of the overall unit - but the screws themselves are made from extremely soft metal, so that - using the correct screwdriver - I stripped nearly all screws and had really issues removing all of them. Somehow this problem seems to exist for all the external black screws, the internal silver ones were of a lot higher quality. In my case I fixed the issue by replacing the screws with new ones and never had an issue anymore with them.\nThe internal structure is very well laid out, raising the M.2 drive onto a pole to keep it a bit further from the heat source / Xavier NX module which is just sitting on the other side of the PCB and directly sandwiches with the big heatsink.\nVery welcome are also the addition of the two Raspberry Pi Style Camera connectors, although they are a bit hidden by the serial console cables. I understand that the unit should be as closed as possible for the use in factories, but I would have loved to see two small slits (possibly even with some IP/EMC gaskets to allow for protective shielding of those entry points) so that cameras on the outside of the case can be easily attached.\nThe mPCIe slot gives the system an additional expansion slot for e.G. UMTS or LoRaWAN modules and also the internal CR2032 cell for the RTC is a small but valuable detail.\nThe AIR-020X has some mounting points available on both system sides for additional wall mounting rails. Looking at the mounting points and the obvious use of the AIR-020 series in lab and factory settings, the inclusion of a DIN rail mount as available accessory could prove very useful to directly mount this small computer into an electrical cabinet.\nThe software Booting up the system greats one with a very familiar picture: Ubuntu 18.04 is running on the machine in form of a tailored version of Nvidia Jetpack. This version by Advantech is only using the eMMC of the Xavier NX module to start the bootloader, but the actual data is kept on the M.2. This is a great idea for the longevity of the eMMC on the (currently hard to find) Xavier NX module - but comes with the drawback of additional needed customization other than \u0026ldquo;only\u0026rdquo; the PCB, included hardware, drivers and other changes made by Advantech in comparision to an Nvidia Developerboard for the same module.\nThis is a problem I also learned the hard way: I realized that the board was delivered with L4T 32.5.2 - not the current 32.7.x (JetPack 4.6.1) - so I updated this by hand. Just to have the board bootloop. This was the moment I took a closer look to the online presence of Advantech and the manual - just to learn that the recovery process was neither described, nor was the download of the image available. I got the needed recovery file as well as the documentation (which also included vital information on how to use the DIO (GPIO), RS422 and CANbus interface) and as able to restore the board to working order. Obviously there were multiple problems with this: First, the online available manual should contain all needed information regardings settings, ports, recovery, etc - secondly, the current (and maybe even last) images also need to be available online on their website - with checksums to be able to deploy these images safetly.\nI also voiced my concerns regarding the high impact security issues / CVEs found in 32.5.2 - which would make the use of AIR-020 series an absolute liability in a production environment. I am glad to report that Advantech reacted to these concerns with providing a beta version of a new JetPack 4.6.1 Image. A short time afterwards, Advantech did add some information to their wiki:\nMain Page (the Release Note leads to Downloads) Build instructions for the BSPs Downloads On the download page you can find the AIR020A2AIM20UIV00004 entry for the Jetson NX JetPack 4.6.1 from 2022-07-20. This links to a Dropbox folder containing a the latest image (AIR020A2AIM20UIV00004_194.tar.gz / 2022-09-16).\nWith this latest image I was able to upgrade the AIR-020X to JetPack 4.6.1 and even do and apt upgrade to upgrade to L4T 32.7.2, at the time the latest L4T. However, this did not go as planed: After doing the upgrade and rebooting the device, it got caught in a bootloop. This bootloop kept on repeating for about 10 minutes until the device mysteriously started then working and came back on without issues. Obviously this would not be a graceful upgrade and did instill some concerns why this was a reproducible issue.\nI am glad to report that Advantech has provided the latest image - which will eliminate several security issues. However, the changes needed in the manual as well as the provision of the recovery images (now via Dropbox?) and the secure provision of security updates to the unit remain. Maybe Advantech would think about starting to use balena.io to handle these issues?\nVerdict The Advantech AIR-020X is an extremely capable unit in a small form factor, sturdy built and highly reliable. Even with the latest JetPack 4.6.1 and abuse of the formerly not available 20 Watt mode I could not get this unit to heat up too much in my testing with labSentinel 2. There is still enough headroom available to use it in any kind of environment, which makes it a perfect choice for labs and factories - if Advantech can tackle the presented issues. Especially the ones regarding timely and secure availability of security patches and software updates. This also means availability of these images, fast adaption after release of official Nvidia updates and all needed documentation in one manual for public download. With these exceptions and some small kinks, Advantech is so close to building the perfect unit for their envisioned use case. I really hope they can close that last (security/software/manual) gap to an otherwise nearly perfect hardware - and with that create an recommendable product.\nEdit: balenaOS I got balenaOS working on the device - see here.\n","date":"2023-03-05T12:33:21Z","permalink":"/posts/2023-03-05-advantech-air-020x-review/","title":"Advantech AIR-020X Review"},{"content":"Working with telemetry, scientific data, programming, writing papers or just casually hacking the Gibson requires one thing: A lot of screen real estate. To allow for that \u0026ldquo;bit of extra space\u0026rdquo;, I built myself an external 13,5\u0026rsquo;\u0026rsquo; / 2256x1504 display. It comes with 2x Mini HDMI Inputs and is powered over USB.\nThe front is protected by perspex, while the back is just scrap material from a PCB stencil transport. The black straps hold down the eDP cable runing to the display.\nThe whole project comes in just a shy more expensive than 100 Euros and with that is probably one of the most affordable, external high resolution displays you can get for your moneys worth.\nThe used display is a NE135FBM-N41 (here on Aliexpress for 70,12 Euro).\nAfter talking with one of the sellers on Aliexpress I got them to re-program their dual Mini HDMI controllers for this display - which can be had together with the requires eDP cable (here on Aliexpress for 30,07 Euro). It just nicely plugs together and then works just out of the box. You will just need to get yourself some Mini HDMI to HDMI Adapters and build a case. All in a all a very worthwhile project. Have fun!\n","date":"2022-12-07T16:40:00Z","permalink":"/posts/2022-12-07-100-euro-external-135-2256x1504-display-with-2x-mini-hdmi-input/","title":"100 Euro External 13,5'' / 2256x1504 Display with 2x Mini HDMI Input"},{"content":"I have been looking around the net quite a lot to find a solution on how to add icons to the \u0026ldquo;social menu\u0026rdquo; in wordpress:\nAt first I thought this menu was a feature of the theme I am using, Independent Publisher 2. I only found a Github repo for the version 1 theme - tried all the hacks there - and finally found out that version 2 was bought by WordPress.com and customized. So all the hacks available for version 1 did not even work. Bummer.\nI really wanted to finally have icons for Mastodon, Hackster, Keybase or the RSS feed - so I looked into the file system - and look and behold, I found the path which actually does all the \u0026ldquo;heavy lifting\u0026rdquo;:\nwp-content/plugins/jetpack/modules/theme-tools/social-menu Warning: Thanks to dear Stacy for the update: \u0026ldquo;As of Jetpack 13.7, these files are now in\u0026rdquo;:\nwp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-classic-theme-helper/src/social-menu Turns out, this menu is actually generated as part of the WordPress Jetpack and its Social Menu part.\nTo add to its library is very simple (even though not documented\u0026hellip;):\nLook up SVG icons, maybe from a free website like https://simpleicons.org/ Download the svg file and open in notepad or other editor, it will look like this: \u0026lt;svg role=\u0026#34;img\u0026#34; viewBox=\u0026#34;0 0 24 24\u0026#34; xmlns=\u0026#34;http://www.w3.org/2000/svg\u0026#34;\u0026gt;\u0026lt;title\u0026gt;Mastodon\u0026lt;/title\u0026gt;\u0026lt;path d=\u0026#34;M23.268 5.313c-.35-2.578-2.617-4.61-5.304-[...]2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z\u0026#34;/\u0026gt;\u0026lt;/svg\u0026gt; You will need to change the \u0026ldquo;svg\u0026rdquo; element to symbol\u0026quot;, set an name/id, remove role item and xmlns as well as the title. It will then look like this: \u0026lt;symbol id=\u0026#34;icon-mastodon\u0026#34; viewBox=\u0026#34;0 0 24 24\u0026#34;\u0026gt;\u0026lt;path d=\u0026#34;M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-[...]2 1.81 1.012 3.12z\u0026#34;/\u0026gt;\u0026lt;/symbol\u0026gt; Add this new object into the social-menu.svg before the closing \u0026lt;/defs\u0026gt;\u0026lt;/svg\u0026gt; tag and save the file Open the icon-functions.php and add some entries to the $social_links_icons array. The binding is basically URL Path/Matching =\u0026gt; Icon ID in the social-menu.svg. so to add e.g. the Keybase.io, Mastodon (on chaos.social) and Hackster.io icons I added: \u0026#39;keybase.io\u0026#39; =\u0026gt; \u0026#39;keybase\u0026#39;, \u0026#39;chaos.social\u0026#39; =\u0026gt; \u0026#39;mastodon\u0026#39;, \u0026#39;hackster.io\u0026#39; =\u0026gt; \u0026#39;hackster\u0026#39;, ); Save and close the file, if you now add a new custom element/external link to your social bar e.g. containing keybase.io in the URL, it will show up as the newly added keybase icon. ","date":"2022-11-27T18:39:10Z","permalink":"/posts/2022-11-27-add-icons-to-jetpack-social-menu/","title":"Add icons to Jetpack Social Menu"},{"content":"The best way to power a Jetson Nano 4 GB dev board is by using a center positive, 5 V and at least 4 A barrel connector type power adapter. However, these are often bulky and not the best travel companion - while USB C power bricks are becoming more common and the relevant USB C sockets are getting build into nearly every device (maybe yours too, Apple?).\nSo I set out to build a USB C power adapter for the Jetson board.\nBy using an inexpensive USB C \u0026ldquo;trigger\u0026rdquo; combined with two 5V@3A step-down converters this did actually work.\nThe trick is setting the USB C trigger to request 20 V and using the 5 V converters in parallel to step-down the 20 V to 5 V - and then feeding the resulting voltage again in parallel to the barrel plug, like so.\nFor the curios among you now asking why I did not just set the trigger to 5 V and used it all alone: I tried this first, but it did not work. It was not able to provide enough current to support the operation of the Jetson at \u0026ldquo;MAXN mode\u0026rdquo; - it was constantly coming up with Overcurrent protection messages if pushed too hard.\nI am happy with the result and shortend the wires after testing, putting everything into a neat small form factor.\nWith this change I can finally replace my old Jetson Nano power supply with something smaller than this chunky unit which I was gifted back in the day by the awesome Morlac :) .\n","date":"2022-10-17T08:00:00Z","permalink":"/posts/2022-10-17-usb-c-power-for-the-nvidia-jetson-nano-4-gb-dev-board/","title":"USB C power for the Nvidia Jetson Nano 4 GB dev board"},{"content":"I have been using multiple CAM-M8Q breakouts by Watterott and really am loving these units. They are small, reasonable priced and have the advantage of an integrated chip antenna. However, this also their small shortcoming: While the antenna is good enough for most outdoor jobs, you can run into sensitivity issues when deploying it indoors - if not setup next to a window. Luckily, the module has two additional u.fl connectors for RFin and RFout, meaning you can use an external antenna.\nTo accomplish this, you just need to remove the resistor R3 to position R1 - as outlined by the schematics:\nWith this, you could attach an passive antenna, but an active one will not work, as no power is supplied from the module. But you can add this power insert with an inductor and an capacitor.\nI did this with some SMD components, but did not add the insert \u0026ldquo;behind\u0026rdquo; the u.fl connector, but between both jumper points R1 should be using. So I can make this a part of the module.\nThis worked perfectly and the reception is great.\nAs an antenna I am using the Navilock NL-202AA - I have not received any Galileo signal (even though it should be possible), but other than that I am very happy with the solution.\nThanks again to Mr. Watterott to pointing me to this StackExchange post which contained the solution for the power insert.\n","date":"2022-10-14T14:00:00Z","permalink":"/posts/2022-10-14-an-active-gnss-antenna-for-the-cam-m8q-breakout/","title":"An active GNSS antenna for the CAM-M8Q breakout"},{"content":"About nearly a year ago, I wrote the labSentinel project for my Nvidia Jetson AI Specialist certification. The basic idea of the project is to be able to supervise old Lab Equipment which does not poses any kind of log output or interface other than a graphical user interface, running on an Windows 3.11 / 95 / NT - maybe even XP system.\nI solved this issue by using a video grabber attached to a Jetson Nano and \u0026ldquo;out-of-band\u0026rdquo; grabbing the screen output of the experiment computer. I then learned good and bad system states via Nvidias Inference tools and finally got the system to report via MQTT as soon as something did go wrong.\n(As a \u0026ldquo;test system\u0026rdquo; I designed a flashy GUI application to try to mimic the old interfaces - specifically thinking about a lab power supply with multiple outputs - and the ability to simulate errors.) (https://developer.nvidia.com/embedded/community/jetson-projects#labsentinel / https://github.com/nmaas87/labsentinel)\nWhile the project did work, there was still a lot left to be desired:\nThe system did capture the complete screen in full size. Running inference on a 1024x768 or even higher resolution picture is not efficient and has a high failure rate. Training, testing and improving the model was time consuming and did not yield the precision and results I was hoping for. The system could differentiate between \u0026ldquo;good\u0026rdquo; and \u0026ldquo;error\u0026rdquo; states - however if an error occurred, I would have loved to get more information - \u0026ldquo;reading the GUI\u0026rdquo; and its output. For example in the lab power supply use case, getting the specific voltages of the different lines to see which line failed or what is wrong - maybe even with the possibility to cross check if the detected error is an error in the first place While the Nvidia Jetson Nano Development Board is an awesome tool for development, it is not hardend enough / suited for a lab or even factory floor environment. These were all points I wanted to address, but as time was lacking - I did not take up the project again - until the start of this year Advantech and Edge Impulse started their Advantech Edge AI Challenge 2022. They wanted to know about specific use cases and how to solve them with factory hardend Jetson products (e.g. Advantechs AIR-020 series) and Edge Impulse Studio.\nWell, that reminded me of the first labSentinel - and I thought I\u0026rsquo;d give it a try. As luck would have it, I actually was one of the two lucky guys who were picked to be able to realize their project. Advantech sent me one of their AIR-020X boards (review is here:)) and I was good to go:\nLet me introduce you to labSentinel 2:\nBuild from the ground up, it does solve the above mentioned issues:\nThe actually GUI window is found and extracted from the \u0026ldquo;full size Desktop screenshots\u0026rdquo; via OpenCV 2 - and resized to 320x320 pixels to neatly fit the inference model All model training, testing and optimization is done with Edge Impulse, which makes handling a breeze If an error is detected and included OCR module using tesseract can extract text from predesignated / labeled areas on the non-resized GUI and sent this information along with the MQTT alert The AIR-020X board is more than robust enough for all normal lab and factory floors All source code is freely available with a demo project and documentation on Github (https://github.com/nmaas87/labSentinel2) and also a video instruction on how to use it (https://youtu.be/KEN_HT20exs)\nThanks again to Gary Lin (Advantech) as well as Louis Moreau and David Tischler (Edge Impulse) for their support :)!\nUpdate: I added a Review to the Advantech AIR-020X and got balenaOS working on it.\n","date":"2022-09-19T09:35:01Z","permalink":"/posts/2022-09-19-labsentinel-2/","title":"labSentinel 2"},{"content":"Intro Since 2017 I have been using an Western Digital My Cloud Mirror Gen 2 which I bought at Amazons Black Friday (or similar) - because the included 2x 8 TB WD Red were even cheaper with the NAS than standalone. Using the NAS had been quite ok, especially the included Docker Engine and Plex Support were a nice to have, the included Backdoor in older Versions - not so much. Recently WD had their new \u0026ldquo;My Cloud OS 5\u0026rdquo; replace the old My Cloud OS 3 - and made things worse for a lot of people. As I don\u0026rsquo;t want any more surprises - and more control over my hardware - I decided to finally go down the road and get Debian 11 with an LTS (5.15) Kernel running on the hardware. This is how it went.\nWarning Warning, these are just my notes on how to convert a My Cloud OS 3 / My Cloud Mirror Gen 2 device to a \u0026ldquo;real\u0026rdquo; Debian system. You will need to take your device fully apart, solder wires and lose the warranty. Additionally you will lose all your data and even brick the hardware if something goes wrong, I am taking in no way responsibility, neither can I give support. You\u0026rsquo;re on your own now.\nStep 0: Get Serial Console Access Without a serial console, you will not be able to do anything here. You will need to completely disassembly the NAS and will lose all warranty. The plain motherboard will look like this. On the most right side you will see the pins for the UART interface you will need to solder to.\nWhen you\u0026rsquo;re done with that, connect your 3v3 TTL UART USB device like this:\n\u0026hellip; and connect to it via 115200 BAUD with Putty, TeraTerm Pro or any other software (Do not connect the 3v3 pin :) ). It would be wise starting without the hard drives installed.\nStep 1: Flashing U-Boot The current U-Boot on the NAS is flawed, you need to replace it. I will be CyberPK here which did an awesome job explaining everything:\nWe have to prepare an usb drive formatted in Fat32, and extract the uboot at link into it and connect to usb port#2.\nConnect the device to the serial adapter, poweron the device and start pressing \u0026lsquo;1\u0026rsquo; (one) during the boot until you can see the Marvell\u0026gt;\u0026gt; Command Prompt press ctrl+c, then\u0026hellip;\nWe will start here to change stuff and break stuff. But if I could give you one tip before you start: Please execute printenv once. Copy and paste all env variables and everything Uboots spits out. It could save your hardware one day. Thanks, Nico out!\nusb start bubt u-boot-a38x-GrandTeton_2014T3_PQ-nand.bin nand usb reset This will reboot the device. Access again the Command prompt and add the following envs, a modified version of the ones provided by bodhi at this post:\nsetenv set_bootargs_stock \u0026#39;setenv bootargs root=/dev/ram console=ttyS0,115200\u0026#39; setenv bootcmd_stock \u0026#39;echo Booting from stock ... ; run set_bootargs_stock; printenv bootargs; nand read.e 0xa00000 0x500000 0x500000;nand read.e 0xf00000 0xa00000 0x500000;bootm 0xa00000 0xf00000\u0026#39; setenv bootdev \u0026#39;usb\u0026#39; setenv device \u0026#39;0:1\u0026#39; setenv load_image_addr \u0026#39;0x02000020\u0026#39; setenv load_initrd_addr \u0026#39;0x2900000\u0026#39; setenv load_image \u0026#39;echo loading Image ...; fatload $bootdev $device $load_image_addr /boot/uImage\u0026#39; setenv load_initrd \u0026#39;echo loading uInitrd ...; fatload $bootdev $device $load_initrd_addr /boot/uInitrd\u0026#39; setenv usb_set_bootargs \u0026#39;setenv bootargs \u0026#34;console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts earlyprintk=serial init=/bin/systemd\u0026#34;\u0026#39; setenv bootcmd_usb \u0026#39;echo Booting from USB ...; usb start; run usb_set_bootargs; if run load_image; then if run load_initrd; then bootm $load_image_addr $load_initrd_addr; else bootm $load_image_addr; fi; fi; usb stop\u0026#39; setenv bootcmd \u0026#39;setenv fdt_skip_update yes; setenv usbActive 0; run bootcmd_usb; setenv usbActive 1; run bootcmd_usb; setenv fdt_skip_update no; run bootcmd_stock; reset\u0026#39; saveenv reset (This code was also modified by me to use the fatload instead of the ext2load)\nWith this, our NAS is ready.\nStep 2: Build a kernel and rootfs On your current linux machine, get yourself a copy / git clone of Heisaths wdmc2-kernel Repo Get all dependencies installed according to this repo, I installed it on a Debian 11 machine Replace the file content of wdmc2-kernel/dts/armada-375-wdmc-gen2.dts with the content of the real and improved dts for the WDMCMG2 (original from this link, copy available here) - but keep the file name still armada-375-wdmc-gen2.dts Replace the file content of wdmc2-kernel/config/linux-5.15.y.config with the file from here (please know this config ain\u0026rsquo;t perfect, but it will get you running. You can always file a PR and help me out ;)) Start the build process in wdmc2-kernel with ./build.sh Mark: Linux Kernel, Clean Kernel sources, Debian Rootfs, Enable ZRAM on rootfs Kernel -\u0026gt; Kernel 5.15 LTS Build initramfs -\u0026gt; Yes Debian -\u0026gt; Bullseye Fstab -\u0026gt; usb Rootpw -\u0026gt; whateverYouWant Hostname -\u0026gt; whateverYouWant Locales -\u0026gt; no changes, accept (or whatever you want) Default locale for system -\u0026gt; en_US.UTF-8 (or whatever you want) Tzdata -\u0026gt; Your region Now your kernel and rootfs will be build While this is on-going, get yourself a nice USB 2.0 or USB 3.0 stick prepared with\npartition table: msdos 1st partition: 192 MB, FAT32, label set to boot, boot flag enabled 2nd partition: rest, ext4, label set to rootfs When the kernel is done compiling and your usb stick is done, copy all the files (sda is the name of my usb stick\nmkdir /mnt/boot /mnt/root mount /dev/sda1 /mnt/boot mount /dev/sda2 /mnt/root mkdir /mnt/boot/boot cp wdmc2-kernel/output/boot/uImage-5.15.* /mnt/boot/boot/uImage cp wdmc2-kernel/output/boot/uRamdisk /mnt/boot/boot/uInitrd tar -xvzf wdmc2-kernel/output/bullseye-rootfs.tar.gz --directory=/mnt/root/ rm -rf /mnt/root/etc/fstab cp /mnt/root/etc/fstab.usb /mnt/root/etc/fstab // within /mnt/root/etc/fstab: // change all /dev/sdb to /dev/sdc if all two drive slots on the NAS are used \u0026lt;- this! // change all /dev/sdb to /dev/sda if no drive slots on the NAS are used umount /mnt/boot /mnt/root Step 3: First boot and getting things running Insert the USB stick into the 2 slot of the NAS. Leave the drives still out and boot it up for the first time, watch it via terminal. Login at the end with root and your chosen password.\nIf it boots, you can shut it down again with shutdown -P now, unplug power, insert the drives and reboot.\nFirst thing after the first boot with drives, your own initramfs / Ramdisk from your current setup:\ncd /root/ ./build_initramfs.sh cp initramfs/uRamdisk /boot/boot/uInitrd Second, install MDADM for the RAID:\napt update apt install mdadm mkdir /mnt/HD edit your /etc/fstab and add a mount point for your md/raid. I used the old drives with my old data on it like this (depending on the fact as which mdX it launches...) /dev/md0 /mnt/HD ext4 defaults,noatime,nodiratime,commit=600,errors=remount-ro 0 1 A lot of good knowledge about Ramdrives can be found here.\nI would advise to do steps: 1. Folder2RAM, 2. Kernel Options, 4. Logrotate - option 3 did not work out for me.\nTo get the drive to sleep at some point, we need to reconfigure MDADM\ndpkg-reconfigure mdadm // monthly check ok // daily degration check ok // monitoring disable \u0026hellip; and get hdparm working\napt install hdparm hd-idle # hdparm config , add in /etc/hdparm.conf /dev/sda { # apm = 127 # acoustic_management = 127 spindown_time = 120 # spindown_time = 4 write_cache = on } /dev/sdb { # apm = 127 # acoustic_management = 127 spindown_time = 120 # spindown_time = 4 write_cache = on } # Spindown Time means: 120 * 5 sec = 600 sec / 60 sec = 10 min # apply it after saving the file with: /usr/lib/pm-utils/power.d/95hdparm-apm resume We can check the status of the drives with smartctl\nsmartctl -i -n standby /dev/sda smartctl -i -n standby /dev/sdb To get fan control working\napt install wget wget -O mcm-fancontrol-master.tar.gz https://github.com/nmaas87/mcm-fancontrol/archive/refs/heads/master.tar.gz tar -xvzf mcm-fancontrol-master.tar.gz cd mcm-fancontrol-master/ cp fan-daemon.py /usr/sbin/ chmod +x /usr/sbin/fan-daemon.py cp fan-daemon.service /etc/systemd/system/ systemctl enable fan-daemon systemctl start fan-daemon (You can change low temp and high temp in the /usr/sbin/fan-daemon.py to get the Fan to kick in later and also set DEBUG = True if you want to see some details in the systemctl status fan-daemon)\nMDT Utils can be useful, just mentioning it here\napt install -y mtd-utils cat /proc/cmdline cat /proc/mtd Samba \u0026hellip;\napt install samba --no-install-recommends # change /etc/samba/smb.conf to your liking and setup your SMB Plex \u0026hellip;\n# Plex apt update apt install apt-transport-https ca-certificates curl gnupg2 curl https://downloads.plex.tv/plex-keys/PlexSign.key | apt-key add - echo deb https://downloads.plex.tv/repo/deb public main | tee /etc/apt/sources.list.d/plexmediaserver.list apt update apt install plexmediaserver systemctl status plexmediaserver Well, that\u0026rsquo;s it.\nThanks a lot to all awesome contributors in the net:\nhttps://github.com/Heisath/wdmc2-kernel https://github.com/gisab/WDMC-Ex2 https://github.com/vzhilov/WDMC-Ex2-Ultra https://github.com/Johns-Q/wdmc-gen2 https://github.com/Zeik0s/wdmc-gen2 Companion repo with files: https://github.com/nmaas87/WDMCMG2\n","date":"2022-06-12T18:05:32Z","permalink":"/posts/2022-06-12-wd-my-cloud-mirror-gen2-with-debian-11-and-linux-kernel-5-15-lts/","title":"WD My Cloud Mirror Gen2 with Debian 11 and Linux Kernel 5.15 LTS"},{"content":"Having the need to discuss this topic in 2022 is something I would not have dreamed of - but still, we\u0026rsquo;re here to address the elephant in the room: Yes, Windows 10 does support long path names - no, it does not support it by default.\nYou need to enable it using the AD config or the registry.\n* launch regedit with admin rights\r* navigate to HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\FileSystem\r* Add a new DWORD (32-bit) named LongPathsEnabled with value 1\r* reboot Alternatively, you can also have the same result by enabling this value in the Group Policy (Computer Configuration \u0026gt; Administrative Templates \u0026gt; System \u0026gt; Filesystem \u0026gt; Enable NTFS long path).\nHowever, this will only help with your explorer and \u0026ldquo;new\u0026rdquo; applications, some old apps can still suffer from issues (and we\u0026rsquo;re not going to talk about potential WSL/WSLv2/Docker issues here by mounting paths\u0026hellip;)\nAnother interesting thing is to find files / paths which are \u0026ldquo;a little abundant\u0026rdquo;. There is a nice tool called TLPD for this, HOWEVER (warning), I need to highlight that only the version 4.6 is considered ok ( https://sourceforge.net/projects/tlpd/files/v4.6/ ). The latest version 4.6.0.1 is infected by some kind of Trojan - and about half of all scanners on Virus Total are also confirming this issue. So if you want to use this tool - please only download the 4.6 version - and for good measure scan it before use. Just to be sure that in the future not someone plays around with the files\u0026hellip;\n","date":"2022-05-29T13:11:16Z","permalink":"/posts/2022-05-29-win10-long-path-filenames/","title":"[Win10] Long Path / Filenames"},{"content":"Its been a while - but good things come to those who wait :) .\nTrying to work out a new system you\u0026rsquo;re unfamiliar with can be quite a challenge. In my case I got my first LoRaWAN concentrator along with some CubeCell HTCC-AB01 and tried to get them to work. It turned out - it was quite hit and miss. On the one hand, the firmware support for the RAK5146 with USB, GPS and LBT was not really ready yet - on the other hand, the CubeCell Arduino code has a fatal flaw with the preamble size so that those cannot join a LoRa network if used in EU868 MHz Band (the perfect fix by 1rabbit is linked as well!).\nIn the end, as I wanted to get this working as best as possible, I bought myself the RAK2287 Pi Hat and started modifying it. I was quite sure that the I2C signals should be available somewhere on that board - as well as 5V + 3v3 along with the raw PPS signal of the GPS module within the RAK5146. I was right and could bridge the PPS signal to an used RPi GPIO pin.\nUsing the I2C signal lines, Ground and 3v3 I added an I2C sensor interface (call it an ugly QWIIC connector :) ).\nI installed the latest UDP Packet Forwarder package by Xose - and everything was working perfectly since then.\nI even added brocaars Packet Multiplexer and started running a local ChirpStack instance on my home server. Now my sensors are feeding their data directly to my local InfluxDBv2 and Grafana - but at the same time my Gateway is still available for TTNv3 users to receive their data. Its awesome and with that I even receive my private data during WAN outages. Nice!\nAs added \u0026ldquo;bonus\u0026rdquo;, my gpsTime project is running on the same RPi, using the GPS time of the RAK5146 and its PPS signal to be an extremely precise GPS timeserver in my network - and an additional BME280 is running as the \u0026ldquo;room sensor\u0026rdquo;, because adding another battery operated device - if you are having more than enough CPU power (in form of the RPi ;)) is really not needed. The whole device fits behind the TV.\nAll in all, the project was very successful, I am working on some new ideas regarding the sensors, but this is pending on my KiCad 6 skills and deliveries of new RAK hardware currently on the way :) .\nI still keep all infos in the balena Forums, so head over if you want more details.\n","date":"2022-05-08T09:21:28Z","permalink":"/posts/2022-05-08-taming-the-rak5146-sx1303/","title":"Taming the RAK5146 / SX1303"},{"content":"Setting the scene Working with the guys over at balena comes with some perks - including the peer pressure of getting into new technologies and trying them out. My go-to person this time was balena Developer Advocate Marc Pous - who is not only no stranger to soldering - but also deeply rooted in the LoRaWAN field (and he is also doing balenaHub projects for LoRaWAN applications 1, 2).\nI heared about LoRaWAN a while back, when I was working with Sigfox - but never really gave it a try, other than trying to run a basestation for a certain satellite using LoRa for its communication.\nThis changed through Marcs constant LoRa presentations and work - I just gave in and wanted to try it. I had already three projects at hand: One was getting some BME280s into a network (because due to 2.4 GHz spectrum hell induced by too many neighbours with too many WiFi APs cranked to 11 using WiFi with ESP8266 did not work anymore\u0026hellip;). This project would be the \u0026ldquo;first hello-world\u0026rdquo; to maybe be allowed to deploy a network in my company to care for our sensors - and lastly, strapping LoRa technology to a rocket and see whether we can muster the about 250 km+ downrange.\nBut things start small, so I wanted to get into the field with best-in-class technology - and the latest available products (especially thinking about ultra-long communications like on my last usecase). Luckily, the new Semtech SX1303 came to market 8 months ago and RAKwireless decided to make their first concentrator on its base, the RAKwireless Wislink RAK5146 - and I wanted to be an \u0026ldquo;early adopter\u0026rdquo;.\nWrong expectations If I am getting into a new product, I am used to finding a certain amount of good documentation, software and support. I must admit that I was really spoiled with my latest endeavors using Paul Stoffregens excellent Teensy series (loyal customer since Teensy 2.0/2010 ;)), some new STM32s and also NVIDIAs Jetson lineup.\nSo I went into this whole project with wrong expectations, as RAKwireless had made a ton of useful stuff available already for their older systems like the RAK2287 - and I thought everything would be in place for the new system as well, which was wrong.\nI started the project more than a month ago and at that time not even a real firmware was available. The only project I found was this Github Repo - which could not even install for my RAK5146 USB because someone forgot the chmod +x on the install script, which gave a bad first impression regarding how tested this official project would be - and I was not disappointed, as I had to try to figure out how to get it working with TTN - because the important step (after the installation was done) to changing the server address in the configuration file - was not included in the setup instructions, so my gateway never connected.\nAlso, no RPi Hat was available - which brought me into looking for own solutions, which I found in an USB WWAN adapter card to be stacked onto the RPi.\nA last thing which was confusing, especially with trying to figure out how to connect everything were the Pinout and Blockdiagram. I remind you, there are 6 different configurations of the RAK5146:\nSPI (always without LBT)\nwith GPS without GPS USB\nwith LBT\nwith GPS without GPS without LBT\nwith GPS without GPS Both the Blockdiagram and Pinout for all these variations were handled in one graphic. While one could handle the block diagram, the pinout is just confusing. Which Pins are actually on the card using the USB version with LBT and GPS? What is going on with the SPI pins? Are they not even routed?\nI tried to use my new TTNv3 gateway with Heltec Cubecells - and while I got it working, there was just unreliable data transmission and huge packet loss.\nI must admit, I went to this project with wrong expectations - because I saw the RAK5146 now freely available on RAKwireless shop - thinking it should be another product like the RAK2287 - but that was wrong. It seems to be a product which is firstly marketed towards huge OEM customers - and not for the hackers at heart.\nMoving forwards To try to get this issues resolved, I wrote a bunch of PRs and Issues on the Github repo and documented my findings on balenas Forum. Luckily, those comments did not fall onto deaf ears and the situation improved:\nRAKwireless worked in enhancing the documentation of the RAK5146 - but sadly the Blockdiagram and Pinout is still in the same state. Also, no quickstart guide was added.\nThanks to Taylor there is now a firmware package made available, which can be downloaded from the RAK5146 page.\nRegarding the documentation on using it, this is not available yet. Please stick to the RAK2287 Quickstart guide. You can set it up as \u0026ldquo;RAK Gateway LoRa Concentrator\u0026rdquo; for TTN like shown there - but need to edit the packet-forwarder config afterwards (see the main menu of gateway-config) and replace the \u0026ldquo;server_address\u0026rdquo;: \u0026ldquo;router.us.thethings.network\u0026rdquo; with your things network router (e.g. eu1.cloud.thethings.network in Europe TTNv3). You should then restart the Gateway / Forwarded. In adding it to the TTNv3 stack, the Quickstart guide is a bit outdated. You can still find out the EUI of your gateway using gateway-version and use this for adding it to TTNv3, but please be careful not to choose the frequency plan \u0026ldquo;Europe 863-870 MHz (SF9 for RX2 - recommended)\u0026rdquo; - but the RX2 SF12 option to improve the signal quality.\nI still have problems with bad performance - and the helpful Jose Marcelino decided to send me a RPi Hat for switching out my contraption, which should improve quality. However, after waiting a month I have not yet received this Hat yet and could therefore not test.\nAlso Xose Pérez did try to help and I am grateful for both of them trying to resolve the situation and getting the RAK5146 also working in the hands of power users.\nAfter all, it looks like an extremely capable platform - and I would really like to see it performing accordingly.\nWhat is next? Even though the start was a bit rocky, I want to continue working on this project - after all, my room sensors need some LoRa, as well as my other projects - and when these issues are resolved, thr RAK5146 looks like a good offer. I will report back on my blog with updates - and wait for the RPi Hat which hopefully will resolve the issues - or helping me pin down the issue, if it were to be somewhere else.\nUpdate\n","date":"2021-10-10T09:11:36Z","permalink":"/posts/2021-10-10-lorawan-with-rakwireless-rak5146-the-sx1303-in-the-field-a-rocky-start/","title":"LoRaWAN with RAKwireless RAK5146: The SX1303 in the field, a rocky start"},{"content":"Here is my presentation to the gpsTime Balena Project @ PiAndRadio 2021 (11.09.2021)\ngpsTime_PiAndRadio2021.pdf\n","date":"2021-09-11T10:15:00Z","permalink":"/posts/2021-09-11-piandradio-raspberry-pi-gps-time-server/","title":"[PiAndRadio] Raspberry Pi GPS Time Server"},{"content":"Here is my presentation to the Raspberry Pi Introduction @ PiAndRadio 2021 (11.09.2021)\nRPi_PiAndRadio2021.pdf\n","date":"2021-09-11T07:15:00Z","permalink":"/posts/2021-09-11-piandradio-raspberry-pi-introduction-presentation/","title":"[PiAndRadio] Raspberry Pi Introduction Presentation"},{"content":"I took part in balena\u0026rsquo;s IoT Happy Hour #63 on 30.07.2021 to talk with balenas Marc and David - as well as DynamicDevices Alex about Bees, gpsTime and space communications.\nYou can watch the talk here on balenas Youtube channel.\n","date":"2021-07-31T08:10:38Z","permalink":"/posts/2021-07-31-talk-iot-happy-hour-63-balena-ambassador-projects/","title":"[Talk] IoT Happy Hour #63: balena Ambassador Projects"},{"content":"I think there is nothing more pleasing than having extremely precise measurements at your fingertips. Like time. While in the past it was quite problematic to measure time accurately (not talking about sundials, but\u0026hellip; why not? ;)) - mankind has created one precise time source as the byproduct (read: \u0026ldquo;waste\u0026rdquo;) for usage in accurate navigation: GNSS and their different kinds like GPS, Glonass, Galileo, BaiDou and others.\nTaping into this time source and providing it to your local computer network via NTP has been done by countless people and is an extreme rewarding task. Is it necessary? Maybe not. Is it really cool? Yes. And now it is even easier as you don\u0026rsquo;t need to configure it yourself, but can use the balenaHub and the preconfigured gpsTime project.\nBasically you just need an RPi B+ (2/3/4), Micro SD Card, Powersupply and 3v3 TTL Level GPS Module with PPS Output. The rest is just done by going on the balenaHub entry shown above, creating a free account and flashing balenaOS onto your SD card, booting the RPi on the internet for the first time and let it get the needed containers. Afterwards you can use the RPi offline and still enjoy your precise time source.\nMore details can be found in the Github Repo and you can work and improve that project to your hearts content. I am probably going to do an PiAndMore talk about it - and use the project myself as a block for precise timing in some support equipment.\n","date":"2021-07-05T20:05:33Z","permalink":"/posts/2021-07-05-gpstime/","title":"gpsTime"},{"content":"I took part in balena\u0026rsquo;s IoT Happy Hour #56 on 11.06.2021 to talk about the past, present and upcoming apex missions.\nYou can watch the talk here on balenas Youtube channel.\n","date":"2021-06-22T16:00:19Z","permalink":"/posts/2021-06-22-talk-iot-happy-hour-56-balena-in-space/","title":"[Talk] IoT Happy Hour #56: balena in Space"},{"content":"Windows Subsystem for Linux 2 has a big problem called \u0026ldquo;Vmmem\u0026rdquo; - it is the process WSL uses to allocate RAM for usage within its user context. That itself is all fine, however, there are many known issues that show that even after closing your e.g. Debian session, this memory is not returned to the system. This is also valid for usage of Docker for Windows within the WSLv2 context (meaning using Docker in the \u0026ldquo;new-style\u0026rdquo; install, not with the old HyperV machine).\nThe easy way to mitigate the pain (meaning RAM-being eaten up faster than a Chrome Engine spinning up ;)) is to just shutdown the WSL engine after usage, which you can do by opening up a Powershell or CMD with admin rights and enter\nwsl --shutdown This will shutdown WSL until you start it manually again. (Thanks smigel!)\nA better way to work with this is to create a .wslconfig in your Windows User directory. Here is a short example.\n[wsl2] memory=2GB # Limits VM memory in WSL 2 to 2 GB processors=2 # Makes the WSL 2 VM use two virtual processors swap=0 # Do not use a swap file Anyway, the issue is still open and not yet fixed, even though a fix was promised on 17.06.2019. Worse, Microsoft locked the issue in July 2020 for \u0026ldquo;spam\u0026rdquo;. Talking about bad customer experience\u0026hellip;\n","date":"2021-03-01T10:00:00Z","permalink":"/posts/2021-03-01-wsl2-win10-limit-resource-consumption-of-wslv2/","title":"[WSL2/Win10] Limit Resource Consumption of WSLv2"},{"content":"1.) Open an administrative Powershell and activate the WSL feature\ndism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 2.) Activate the Virtual Machine Platform, afterwards reboot your computer\ndism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 3.) Download and install the WSLv2 Linux Kernel package from https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi - another Reboot is needed afterwards\n4.) Set WSLv2 as default WSL - open an administrative Powershell and enter\nwsl --set-default-version 2 5.) Install one or multiple operating systems in WSLv2 - you can find them here. You can also install these \u0026ldquo;offline\u0026rdquo;, meaning without the need to use Windows Store. For the offline install, download the needed package from this link, then install it by doubleclicking on the Icon - or via Powershell with\nAdd-AppxPackage .\\app_name.appx You can then start and use it :) .\nIts also not a bad idea to install Windows Terminal.\n","date":"2021-02-25T10:00:00Z","permalink":"/posts/2021-02-25-wsl2-win10-install-wslv2/","title":"[WSL2/Win10] Install WSLv2"},{"content":"Being an active contributor to the PiAndMore and other conferences, I happen to make quite a few presentations a year. In the past I was using the good old Microsoft Powerpoint - which has its strengths, but also its drawbacks. Positioning text and graphics were never my taste (I use LaTeX, btw) - so I set out to find a new way to create presentations - and found revealjs back in 2018.\nWhat is revealjs? Basically: Write your presentations in Markdown. Show in a Webbrowser - or export as PDF. TL;DR? Navigate through the demo.\nHowever, using revealjs by its own was cumbersome, I was missing a live preview - and while all of this was available at its freemium service slides.com - I do not want to be dependant on online connection - nor share every presentation with the world (some might involve senstive data\u0026hellip; so no).\nThat was when I started to use hacker-slides - a small Go implementation for all OS types, with a Live Preview, local/offline usage. It was near perfect, other than issues like having problems with carriage return and similar signs at some points (usage other Windows\u0026hellip;) and some other stuff (I lost some presentations when I opened up too many at the same time and edited different presentations in different tabs). It was also the first project where I changed some Go code for my local copy. However, the final nail in the coffin was that this project is not really maintained anymore.\nEnter vscode-reveal - it works in VSCode or Codium - has live preview and all the features you need. Your basic, local, revealjs powered, operating system independant presentation-making-machine.\nI have used it for the latest PiAndMore - and I am not going back to anything else (at least for the time being) - so maybe you want to give it a try?\n","date":"2021-02-22T10:00:00Z","permalink":"/posts/2021-02-22-presentations-with-markdown-revealjs/","title":"Presentations with Markdown: revealjs"},{"content":"Installation Download SonarQube from https://www.sonarqube.org/downloads/\nIf you are using Java 8, you need to download SonarQube 6.7.x LTS (look for Historical Downloads on the website) If you are using Java 11 - SonarQube 7.9.x LTS (look for Long term support area on the website) Unpack the SonarQube ZIP file\nDownload the latest sonar-c-plugin.jar and sonar-cxx-plugin.jar from https://github.com/SonarOpenCommunity/sonar-cxx/releases\nInsert both jar files into the SONARQUBE_HOME/extensions/plugins extensions directory (within the unpacked ZIP file)\nStart SonarQube and Login\nOn Windows 10, e.g. via SONARQUBE_HOME/bin/windows-x86-64/StartSonar.bat Go to http://127.0.0.1:9000 as soon as \u0026ldquo;SonarQube is up\u0026rdquo; is announced Default login is user admin, password admin Navigate to Administration -\u0026gt; Marketplace and make sure the plugins \u0026ldquo;C (Community)\u0026rdquo; and \u0026ldquo;C++ (Community)\u0026rdquo; are installed\nConfiguration - General Additional configuration can be done under Administration -\u0026gt; Configuration -\u0026gt; General Settings within the \u0026ldquo;C (Community)\u0026rdquo; and \u0026ldquo;C++ (Community)\u0026rdquo; areas Configuration - Quality Profiles You need to enable for which kinds of problems both plugins should scan. This needs to be done initially, as otherwise they will not detect anything by default. Example for C (Community) Go to Quality Profiles, click on the downwards arrow next to the \u0026ldquo;Sonar way (Built-in)\u0026rdquo; profile within the \u0026ldquo;C (Community)\u0026rdquo; area. Click Copy. Give it a catchy name, like \u0026ldquo;Sonar way - C\u0026rdquo; A new quality profile pops up, you see the Rules (Bugs, Vulnerabilities, Code Smells) in the left table. You can click \u0026ldquo;Activate more\u0026rdquo;. In the next table, you see the rules sorted by the same types. You can click all three types on the left side and mark them this way - if you want and then click on \u0026ldquo;Bulk Change\u0026rdquo; and \u0026ldquo;Activate In \u0026ldquo;Sonar way - C\u0026rdquo;\u0026rdquo; to activate all rules within our newly created Quality Profile. You have to acknowledge the change and SonarQube will report back as soon as the changes are done. You can now navigate back to Quality Profiles, click on the downwards arrow next to the \u0026ldquo;Sonar way - C\u0026rdquo; profile within the \u0026ldquo;C (Community)\u0026rdquo; area and click on \u0026ldquo;Set as Default\u0026rdquo;. With this change, your newly created profile will now be used for the next scans. Prepare first scan of C Code Download SonarScanner from https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/ Unpack the SonarScanner ZIP file, move the folder to an easy to reach destination, e.g. D:\\ Within the source project folder you want to scan, create a file called \u0026ldquo;sonar-project.properties\u0026rdquo; with following content: # must be unique in a given SonarQube instance sonar.projectKey=TestApplication # defaults to \u0026#39;not provided\u0026#39; #sonar.projectVersion=1.0 # Path is relative to the sonar-project.properties file. Defaults to . sonar.sources=. #----- Default SonarQube server #sonar.host.url=http://localhost:9000 # Encoding of the source code. Default is default system encoding #sonar.sourceEncoding=UTF-8 # project is c, please scan with c plugin (one needs to be enabled) sonar.language=c # project is c++, please scan with c++ plugin (one needs to be enabled) #sonar.language=c++ First scan of C Code Open up a shell within the project folder with the sonar-project.properties file Within this shell, execute SonarScanner by starting its sonar-scanner executable, e.g. \u0026ldquo;D:\\sonar-scanner-4.5.0.2216-windows\\bin\\sonar-scanner.bat\u0026rdquo; The scanner will now work through the project and once its done, send the data to the SonarQube server, where it will be computed and shown as project More infos https://github.com/SonarOpenCommunity/sonar-cxx/wiki/Install-the-Plugin https://github.com/SonarOpenCommunity/sonar-cxx/wiki/Manage-Quality-Profiles https://github.com/SonarOpenCommunity/sonar-cxx/wiki/Scan-Source-Code ","date":"2021-02-19T10:00:00Z","permalink":"/posts/2021-02-19-use-sonarqube-with-sonar-cxx/","title":"Use Sonarqube with sonar-cxx"},{"content":"Just the commands I always need to look up, because I forgot again\u0026hellip;\nOverview over fail2ban status and jails fail2ban-client status See which e.g. IPs are banned for sshd jail fail2ban-client status sshd Unban an IP from sshd jail fail2ban-client set sshd unbanip IPADDRESSHERE See which systems are actually banned zgrep \u0026#39;Ban\u0026#39; /var/log/fail2ban.log* ","date":"2021-02-17T10:22:00Z","permalink":"/posts/2021-02-17-fail2ban-cheat-sheet/","title":"fail2ban Cheat Sheet"},{"content":"Download latest Enterprise ISO To download the latest Windows 10 Enterprise ISO:\nGo to https://www.microsoft.com/de-de/software-download/windows10 and download the latest Media Creation tool Open a admin powershell and launch said tool with some parameters .\\MediaCreationTool20H2.exe /Eula Accept /Retail /MediaArch x64 /MediaLangCode en-US /MediaEdition Enterprise You will need to enter the license key / serial to be able to download the Enterprise style ISO (you will not be able to chose any type, this is done by the /MediaEdition switch, as well as the language etc..) Check ISO for version information and available editions mount ISO in Windows 10 (here mounted as D:) execute this dism /Get-WimInfo /WimFile:D:\\sources\\install.esd you will get infos about what is in the ISO (in old versions, the install.esd was known as install.wim, then you need to launch that tool with install.wim instead of install.esd at the end) Deployment Image Servicing and Management tool\rVersion: 10.0.18362.1316\rDetails for image : D:\\sources\\install.esd\rIndex : 1\rName : Windows 10 Education\rDescription : Windows 10 Education\rSize : 15.736.130.486 bytes\rIndex : 2\rName : Windows 10 Education N\rDescription : Windows 10 Education N\rSize : 14.956.748.370 bytes\rIndex : 3\rName : Windows 10 Enterprise\rDescription : Windows 10 Enterprise\rSize : 15.736.284.481 bytes\rIndex : 4\rName : Windows 10 Enterprise N\rDescription : Windows 10 Enterprise N\rSize : 14.956.654.647 bytes\rIndex : 5\rName : Windows 10 Pro\rDescription : Windows 10 Pro\rSize : 15.734.489.825 bytes\rIndex : 6\rName : Windows 10 Pro N\rDescription : Windows 10 Pro N\rSize : 14.959.031.814 bytes\rThe operation completed successfully. If you start the tool a second time with a specific index, you can find out more about that \u0026ldquo;shard\u0026rdquo;, e.g. to find out more about the Enterprise version, launch the tool with dism /Get-WimInfo /WimFile:D:\\sources\\install.esd /index:3 you will get these infos Deployment Image Servicing and Management tool\rVersion: 10.0.18362.1316\rDetails for image : D:\\sources\\install.esd\rIndex : 3\rName : Windows 10 Enterprise\rDescription : Windows 10 Enterprise\rSize : 15.736.284.481 bytes\rWIM Bootable : No\rArchitecture : x64\rHal : acpiapic\rVersion : 10.0.19041\rServicePack Build : 631\rServicePack Level : 0\rEdition : Enterprise\rInstallation : Client\rProductType : WinNT\rProductSuite : Terminal Server\rSystem Root : WINDOWS\rDirectories : 24132\rFiles : 96485\rCreated : 19/11/2020 - 04:20:58\rModified : 10/02/2021 - 14:13:25\rLanguages :\ren-US (Default)\rThe operation completed successfully. ","date":"2021-02-15T10:00:00Z","permalink":"/posts/2021-02-15-win10-download-enterprise-iso-with-media-creation-tool-check-iso-for-available-editions/","title":"[Win10] Download Enterprise ISO with Media Creation tool / check ISO for available editions"},{"content":"Windows 10 comes with a lot of additional options to install, which are not part of the \u0026ldquo;local\u0026rdquo; installation media.That means things like e.g. the OpenSSH Server component. These options are called \u0026ldquo;Features on Demand\u0026rdquo; (FoD) and do need either an active internet connection to download and install, or a specialized FoD ISO which you only can download from the Microsoft Volume Licensing Service Center (VLSC). If you need to install these options for your Windows 10 Professional or similar offline - without having a valid subscription, you cannot get the needed offline files that way.\nHowever, there is another option by using a second computer with the same Major Release (e.g. Windows 10 1909 / 2004 / or 20H2 aka 2009) and possible latest patches installed to grab those files from the internet and then use these for offline installation.\nExample, we want to get the OpenSSH Server package for Windows 10 20H2 / 2009 and install it offline afterwards.\nGet a Windows 10 20H2 computer connected to the internet, patched to latest version\nDownload Everything ( https://www.voidtools.com/ - the portable version will do ) - this is a tool to scan for changes in the windows filesystem\nStart it, if it asks for administrative rights, say yes\nEnter \u0026quot;C:\\Windows\\\u0026quot; in the search path, so that only changes in the Windows path will be shown in Everything, so that you don\u0026rsquo;t drown in information\nOpen an administrative Powershell - you can know search for the latest version of the FoD package you want to install, like Get-WindowsCapability -Online |? Name -like 'OpenSSH.Server*' This will get us info like:\nName : OpenSSH.Server~~~~0.0.1.0 State : NotPresent Now, this is were it gets tricky. You need to start the download of the package, track it traversing through the filesystem with Everything and copy it before it gets deleted again by Windows after installation. You might need to repeat the process several times, but here it is in a full write up 6a. Enter Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 which will start the download \u0026amp; installation\n6b. Watch the Everything window. At some point a cab file with OpenSSH will pop-up within the C:\\Windows\\SoftwareDistribution\\Download folder. Select that file. And press CTRL+C to copy it.\n6c. Move the focus of the mouse to your Desktop or other folder, at some point the file path of the selected file will change to C:\\Windows\\CbsTemp because it was done with downloading and will start to be installed. Your selection and copy will still be valid and now target this new file. Hence you need to hit CTRL+V to paste/copy it to your desktop fast, because it will disappear within seconds.\n6d. If everything went ok, you will have the cab file with some MB size (in case of OpenSSH-Server-Package~31bf3856ad364e35~amd64~~.cab its just ~1.22 MB) and thats what we need. If you were to slow, you can try again by uninstalling the OpenSSH Server via powershell using\u0026lt; Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 then start at 6a and repeat until it works\n6e. One word of caution - the filename will stay the same for all Windows 10 Release Versions. So it would be wise to put it into a folder with the version name - so that you don\u0026rsquo;t mix up different versions. Also don\u0026rsquo;t change the filename of the cab file, otherwise it cannot be used for installation anymore.\nMove the file to your target / isolated system.\nPowershell with Admin Rights to the correct folder with e.g. OpenSSH-Server-Package~31bf3856ad364e35~amd64~~.cab in it, then execute the installation command: Add-WindowsCapability -Online -Name \u0026quot;OpenSSH.Server~~~~0.0.1.0\u0026quot; -Source \u0026quot;.\u0026quot; -LimitAccess\nIt is going to be installed. But as additional stuff…\n// Set Services to Autostart\rSet-Service sshd -StartupType Automatic\rSet-Service ssh-agent -StartupType Automatic\r// Check if Firewall Rule is activated\rGet-NetFirewallRule -Name *ssh*\r// There should be a firewall rule named \u0026#34;OpenSSH-Server-In-TCP\u0026#34;, which should be enabled\r// If the firewall does not exist, create one\rNew-NetFirewallRule -Name sshd -DisplayName \u0026#39;OpenSSH Server (sshd)\u0026#39; -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22\r// Configuration of OpenSSH Server\r// You can set Powershell as default shell\rNew-ItemProperty -Path \u0026#34;HKLM:\\SOFTWARE\\OpenSSH\u0026#34; -Name DefaultShell -Value \u0026#34;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\u0026#34; -PropertyType String -Force\r// Start Service Start-Service sshd\rStart-Service ssh-agent ","date":"2021-02-11T17:00:00Z","permalink":"/posts/2021-02-11-win10-offline-installation-of-fod-like-openssh-server-without-vlsc-iso/","title":"[Win10] Offline installation of FoD like OpenSSH Server without VLSC ISO"},{"content":"Passwords are problematic. Always. Especially during COVID-19 - were you have to securely transport data via insecure means. What I want to say: Sending confidential data via email. Actually, thats quite easy: (7)-zip everything with AES256 using a long enough key - transfer the key via additional, more secure lines of communication (e.g. phone) and you are ok for the most part.\nHowever, spelling %-FoPN#~OeJQ0h9g3_JWrvnq9h^ip))srzg{\\vnj via phone is \u0026ldquo;a bit cumbersome\u0026rdquo;. Thats the moment you recall Randall Munroe\u0026rsquo;s xkcd #936 Password strength:\nAnd with this basic idea, xkcdpass was born. It can generate passwords from multiple dictonary entries, seperated by some symbols and generate things like showcase surging swoosh bakeshop smoked duffel - and you can also tweek the settings to change the amount of words used, length, delimters, etc.\nIt is written in python and can be installed via a quick pip install xkcdpass and then used with the command line paramter xkcdpass\nAll infos are in the Git repo found here.\nLong enough sentences are good enough - and are awesome as \u0026ldquo;transfer keys\u0026rdquo; to secure the real data.\n","date":"2021-01-29T16:00:00Z","permalink":"/posts/2021-01-29-xkcdpass-secure-passwords-for-transport/","title":"xkcdpass - secure passwords for transport"},{"content":"Here is my presentation to the Raspberry Pi Webcam Build Guide @ PiAndMore 12 1/4 (23.01.2021)\nRPiWebcam_PiAndMore1214.pdf\nVideorecording of the talk can be found here\n","date":"2021-01-23T10:15:00Z","permalink":"/posts/2021-01-23-piandmore-raspberry-pi-webcam-build-guide/","title":"[PiAndMore] Raspberry Pi Webcam Build Guide"},{"content":"Here is my presentation to the Raspberry Pi Introduction @ PiAndMore 12 1/4 (23.01.2021)\nRPi_PiAndMore1214.pdf\nVideorecording of the talk can be found here\n","date":"2021-01-23T08:45:00Z","permalink":"/posts/2021-01-23-piandmore-raspberry-pi-introduction-presentation-4/","title":"[PiAndMore] Raspberry Pi Introduction Presentation"},{"content":"kvm Virtualisiation is great, however, useable tools to create and manage said VMs are rare. The best tool for the job, virt-manager is only available for Linux machines. But what if you want to manage said VMs also via Windows 10? WSL2 to the rescue: Just install WSL2 as shown by the excellent Microsoft Guide, install i.e. a Debian/GNU Linux instance and then launch into it.\nYou should update the instance to the latest version first:\nsudo apt update \u0026amp;\u0026amp; sudo apt upgrade -y \u0026amp;\u0026amp; sudo apt dist-upgrade -y then you can install virt-manager\nsudo apt install -y virt-manager ssh-askpass the last thing you would need is to install an X server on your windows machine, i.e. Xming or MobaXterm(which contains Xming) and launch it. Then you need to setup the X forwarding in your WSL2 instance, by entering\nexport DISPLAY=\u0026#34;grep nameserver /etc/resolv.conf | sed \u0026#39;s/nameserver //\u0026#39;:0\u0026#34; export DISPLAY=\u0026#34;sed -n \u0026#39;s/nameserver //p\u0026#39; /etc/resolv.conf:0\u0026#34; export DISPLAY=$(ip route|awk \u0026#39;/^default/{print $3}\u0026#39;):0.0 after that, you can launch virt-manager by entering\nvirt-manager and configure it to connect to your KVM instance via SSH.\n","date":"2020-12-29T11:46:00Z","permalink":"/posts/2020-12-29-wsl2-win10-virt-manager-for-kvm-on-windows/","title":"[WSL2/Win10] virt-manager for kvm on Windows"},{"content":"I updated an older Ubuntu 18.04 LTS system to the latest LTS and had (among other things) Docker and KVM installed. KVM is actually quite nice if you \u0026ldquo;just need\u0026rdquo; a small VM (pfsense ;)). I actually prefer Proxmox and ESXi, but hey, the right tool for the right job.\nAfter the upgrade to 20.04, kvm did not work anymore and I got a lot of lvm2 errors during apt update / apt upgrade sessions, so a short google later I found this. I was a bit nervous, but the fix did neither hurt my kvm nor my Docker instances\nsudo apt purge lvm2 \u0026amp;\u0026amp; sudo apt install lvm2 (The fix is deleting and reinstalling lvm2)\nAfter reinstalling lvm2, I could successfully execute a virsh list and got my list of running KVM machines back:\nId Name State ------------------------- 1 pfsense running ","date":"2020-12-27T11:46:05Z","permalink":"/posts/2020-12-27-ubuntu-20-04-update-bricked-kvm-virt/","title":"Ubuntu 20.04 Update bricked KVM Virt"},{"content":"I have been using Windows Subsystem for Linux (WSL) and Docker on my Laptop since a long time. And during last Docker Con, WSL 2 was released to which I switched instantly - which I did not regret.\n(Note: Upgrading to WSL 2 and the native Docker for WSL 2 version will cost you your containers and Docker images, there is even a Thanos meme coming around - so I have to give this fair warning ;))\nHowever: Said Laptop started acting strange as suddenly local MariaDB instances or Apache2 did cease to work and even some nodeJS projects on port 9000. All these ports were not taken directly by any application, but somehow it did not work anymore. It turns out that a faulty HyperV update led to the hypervisor reserving too many ports across the board.\nLuckily there is a solution to correct this issue as shown here by Christopher Pietrzykowski.\nTo make it easy and fast: Open up a powershell or cmd prompt as admin user and enter\nnetsh int ipv4 show dynamicport tcp netsh int ipv6 show dynamicport tcp If it comes up with startport 1025 and a huge number of reserved ports, you are experiencing the same problem. Please enter these commands to realign the startport to 49152 for both IPv4 and IPv6\nnetsh int ipv4 set dynamic tcp start=49152 num=16384 netsh int ipv6 set dynamic tcp start=49152 num=16384 after a reboot, everything should be fixed again 🙂\n","date":"2020-12-22T09:48:57Z","permalink":"/posts/2020-12-22-win10-random-ports-blocked-while-using-docker-wsl-hyperv/","title":"[Win10] Random ports blocked while using Docker / WSL / HyperV"},{"content":"I stumbled across this feature during my bachelor studies:\necho \u0026#34;Hello World\u0026#34; \u0026gt; /dev/tcp/127.0.0.1/5000\recho \u0026#34;Hello World\u0026#34; \u0026gt; /dev/udp/127.0.0.1/5000 You need to be root (obviously) and its supported in bash environment - but not on all systems. You can also cat on the ports and use dns adresses. Its neat to just get a byte out :). And if you need something more sophisicated, be sure to use the good old netcat (nc).\n","date":"2020-04-03T07:35:12Z","permalink":"/posts/2020-04-03-bash-for-sending-and-receiving-raw-ip-packets/","title":"Bash for sending and receiving raw IP packets"},{"content":"If you happen to write a lot of python scripts and just want to check which of the added \u0026ldquo;imports\u0026rdquo; are actually needed to function - and do not want to use an IDE - just check out https://pypi.org/project/importchecker/ - it comes down to a quick\neasy_install importchecker and afterwards you can check your scripts by using\nimportchecker myScript.py It will only output the imports NOT needed, which you can then remove by hand\n","date":"2020-04-02T14:14:36Z","permalink":"/posts/2020-04-02-quickly-check-python-imports/","title":"Quickly check python imports"},{"content":"That was surprisingly easy: Just swaped the sonarqube:6.7-community for the sonarqube:7.9-community image entry in my docker-compose.yml and restarted the Docker container. Upon boot, the container restarted due to an error:\nERROR: [2] bootstrap checks failed[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535][2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] This could be resolved by executing sudo sysctl -w vm.max_map_count=262144 on my Ubuntu 18.04 LTS / Docker Host. After another restart of the container, it worked and I could start the update using a webbrowser under http://IP:9000/setup\n(also add the option vm.max_map_count=262144 to the /etc/sysctl.conf)\n","date":"2020-01-22T17:00:00Z","permalink":"/posts/2020-01-22-upgrade-sonarqube-6-7-to-7-9/","title":"Upgrade SonarQube 6.7 to 7.9"},{"content":"\nIn order to supersede the aging Microchip ATMEGA328P as the de facto standard for Commercial off-the-shelf (COTS) On-Board Computers (OBCs) with a more powerful system for different kinds of high-speed sensors and image acquisition applications, we developed advanced processors, encryption, and security experiment (apex). The platform consisting of a newly developed OBC using COTS components has been flight tested during the ATEK/MAPHEUS-8 sounding rocket campaign. The main advantages of the apex OBC lies in the speed and simplicity of the design while maintaining operational security with a redundant master-master microcontroller system, as well as dual flash storage within each master. Additionally, a single board computer with a containerized and failure-resistant Operating System (OS) (balenaOS) was included to allow usage of a high-definition camera or other more compute-intensive tasks. The bench and flight tests were performed successfully and already showed feasible ways to further improve operational performance.\nPaper\nPublished by \u0026ldquo;American Institute of Physics\u0026rdquo; (AIP) in \u0026ldquo;Review of Scientific Instruments\u0026rdquo; ( ISSN: 0034-6748 / DOI: 10.1063/1.5118855 ) Download (Paper): DLR Elib Media\nWatch Video of flight on Youtube Press\nRelease on balena.io Blog (09.10.2019) Release on Hackaday (11.10.2019) Release on thenewstack.io (03.11.2019) balena in Space Talk (11.06.2021) 2nd generation apex Mk.2/Mk.3 studies\n","date":"2019-12-11T13:33:54Z","permalink":"/posts/2019-12-11-paper-apex-a-new-commercial-off-the-shelf-on-board-computer-platform-for-sounding-rockets/","title":"[Paper] apex: A new commercial off-the-shelf on-board computer platform for sounding rockets"},{"content":"This is a very quick install for SonarQube on Ubuntu 18.04 LTS. I presume you got the latest Docker CE 18.09 and docker-compose 1.24 installed.\n# create folders for sonarqube files and postgres\rsudo mkdir -p /var/sonarqube/{conf,data,logs,extensions}\rsudo chown -R 999:999 /var/sonarqube\rsudo mkdir -p /var/sonarqube/postgres\r# make folder for all Docker files in home\rmkdir ~/sonarqube\rcd sonarqube\r# create docker-compose.yml with following content\rversion: \u0026#39;3.1\u0026#39;\rservices:\rdb:\rimage: postgres:9.6-alpine\rrestart: unless-stopped\rvolumes:\r- /var/sonarqube/postgres:/var/lib/postgresql/data\renvironment:\r- POSTGRES_USER=sonar\r- POSTGRES_PASSWORD=sonar\rsonarqube:\rimage: sonarqube:6.7-community\rports:\r- 9000:9000\r- 9092:9092\rrestart: unless-stopped\rvolumes:\r- /var/sonarqube/conf:/opt/sonarqube/conf\r- /var/sonarqube/data:/opt/sonarqube/data\r- /var/sonarqube/logs:/opt/sonarqube/logs\r- /var/sonarqube/extensions:/opt/sonarqube/extensions\renvironment:\r- SONARQUBE_HOME=/opt/sonarqube\r- SONARQUBE_JDBC_USERNAME=sonar\r- SONARQUBE_JDBC_PASSWORD=sonar\r- SONARQUBE_JDBC_URL=jdbc:postgresql://db/sonar\r# launch docker-compose up -d You can then access your SonarQube instance on http://ServerIP:9000 with the credential admin/admin.\n","date":"2019-04-30T12:45:40Z","permalink":"/posts/2019-04-30-sonarqube-6-7-community-with-postgres-9-6-in-docker-on-ubuntu/","title":"SonarQube 6.7 Community with Postgres 9.6 in Docker on Ubuntu"},{"content":"For checking the quality of my private programming code, I have been using the free edition of SonarQube for multiple years. It is actually a cool project with a massive flaw: They did allow to use MySQL as Database - but not MariaDB. This struggle kept me a bit at bay, as I parted with MySQL years ago - with this one exception.\nSome days ago I then stumbled upon the anouncement of SonarQube that did not fix this long-standing issue, but will be parting completly from MySQL. So the only choice would be to migrate to Oracle, MS SQL or PostgreSQL.\nThey even provided a tool called mysql-migrator for this purpose. However, this did not work. It always kept on complaining that it could not detect the schema version, etc.\nLong story short: If you want (or in my case must\u0026hellip;) switch from MySQL to PostgreSQL, use pgloader, which is available as Ubuntu package - all infos here.\nI just installed a fresh PostgreSQL 9.6 in Docker, bundeled it with the postgres 9.6 alpine, fired it up and then migrated it with the following command:\npgloader mysql://\u0026lt;mysqluser\u0026gt;:\u0026lt;mysqlpassword\u0026gt;@\u0026lt;mysqlserverip\u0026gt;:3306/sonar pgsql://\u0026lt;psqluser\u0026gt;:\u0026lt;psqlpassword\u0026gt;@1\u0026lt;psqlserverip\u0026gt;/sonar Due to all things Docker, one had to play a bit around with the correct IPs, Ports and permissions to get the tool working, but once that was said and done, everything worked fine:\ntable name read imported errors total time ------------------------------ --------- --------- --------- -------------- fetch meta data 180 180 0 0.357s Create Schemas 0 0 0 0.001s Create SQL Types 0 0 0 0.004s Create tables 106 106 0 2.842s Set Table OIDs 53 53 0 0.015s ------------------------------ --------- --------- --------- -------------- sonar.active_rules 1993 1993 0 0.116s sonar.active_rule_parameters 268 268 0 0.107s sonar.ce_activity 1 1 0 0.074s sonar.ce_scanner_context 0 0 0 0.040s sonar.ce_task_input 0 0 0 0.025s sonar.analysis_properties 0 0 0 0.157s sonar.duplications_index 0 0 0 0.020s sonar.events 349 349 0 0.173s sonar.groups 2 2 0 0.330s sonar.group_roles 12 12 0 0.433s sonar.ce_queue 0 0 0 0.033s sonar.issues 7508 7508 0 1.546s sonar.ce_task_characteristics 0 0 0 0.029s sonar.default_qprofiles 9 9 0 0.162s sonar.es_queue 0 0 0 0.143s sonar.file_sources 500 500 0 1.733s sonar.loaded_templates 13 13 0 1.498s sonar.metrics 246 246 0 1.564s sonar.organizations 1 1 0 1.744s sonar.org_qprofiles 26 26 0 1.722s sonar.perm_templates_groups 4 4 0 1.724s sonar.groups_users 3 3 0 1.283s sonar.perm_tpl_characteristics 0 0 0 1.673s sonar.projects 542 542 0 1.850s sonar.internal_properties 2 2 0 1.384s sonar.issue_changes 501 501 0 1.522s sonar.manual_measures 0 0 0 1.306s sonar.notifications 0 0 0 1.297s sonar.organization_members 2 2 0 1.504s sonar.project_links 0 0 0 1.532s sonar.permission_templates 1 1 0 1.453s sonar.project_qprofiles 0 0 0 1.483s sonar.perm_templates_users 0 0 0 1.417s sonar.qprofile_changes 2001 2001 0 1.616s sonar.plugins 13 13 0 1.366s sonar.qprofile_edit_users 0 0 0 1.545s sonar.project_branches 3 3 0 1.356s sonar.quality_gate_conditions 4 4 0 1.353s sonar.rules_metadata 1763 1763 0 1.311s sonar.project_measures 35940 35940 0 1.792s sonar.rules_profiles 26 26 0 1.503s sonar.schema_migrations 495 495 0 1.369s sonar.users 3 3 0 1.497s sonar.user_tokens 5 5 0 1.489s sonar.properties 8 8 0 0.941s sonar.qprofile_edit_groups 0 0 0 0.924s sonar.quality_gates 1 1 0 0.834s sonar.rules 1866 1866 0 1.069s sonar.rules_parameters 278 278 0 1.021s sonar.rule_repositories 21 21 0 0.999s sonar.snapshots 280 280 0 1.047s sonar.user_roles 0 0 0 0.960s sonar.webhook_deliveries 0 0 0 0.942s ------------------------------ --------- --------- --------- -------------- COPY Threads Completion 4 4 0 3.049s Create Indexes 127 127 0 22.308s Index Build Completion 127 127 0 1.460s Reset Sequences 33 33 0 0.051s Primary Keys 51 51 0 0.051s Create Foreign Keys 0 0 0 0.000s Create Triggers 0 0 0 0.001s Install Comments 0 0 0 0.000s ------------------------------ --------- --------- --------- -------------- Total import time 54690 54690 0 8.412s ","date":"2019-04-27T12:45:33Z","permalink":"/posts/2019-04-27-migrate-sonarqube-from-mysql-to-postgresql/","title":"Migrate SonarQube from MySQL to PostgreSQL"},{"content":"Dear all,\nit is quite sad, but after I have been with the \u0026ldquo;Pi And More\u0026rdquo; on every single meeting since it started back in 2012 - and have held workshops and talks on all except the very first one, this time, for the Pi And More 11 1/2 I won\u0026rsquo;t be able to deliver neither my \u0026ldquo;Raspberry Pi Introduction\u0026rdquo; talk (which has been quite a mantra since way back) - nor the \u0026ldquo;How to command a space payload\u0026rdquo; - due to bad health :(. I, however, won\u0026rsquo;t drop said talk, but try to deliver it on Pi And More 12.\nBest regards,\nNico\n","date":"2019-04-05T09:50:36Z","permalink":"/posts/2019-04-05-wont-be-able-to-attend-pi-and-more-11-1-2/","title":"Won't be able to attend Pi And More 11 1/2 :("},{"content":"1.) Open cmd.exe\n2.) netsh wlan show profiles\nThe wifi profile names will be shown in the current priority order under the section \u0026ldquo;User profiles\u0026rdquo;. Its important to note, that the section starts with \u0026ldquo;Profiles on interface INTERFACE\u0026rdquo;, where INTERFACE is the interfacename. If you got multiple wifi interfaces, that section will reoccur with its own \u0026ldquo;User profiles\u0026rdquo; and priority list.\n3.) To change the priority of one network, enter:\nnetsh wlan set profileorder name=\u0026quot;WIFIPROFILE\u0026quot; interface=\u0026quot;I\u0026quot; priority=NUMBER\nYou need to give the correct wifi name as WIFIPROFILE, the interface which uses said profile as I and the NUMBER for the priority, with 1 being the highest, i.e. should be used prefered. You can also define priorities lesser than 1.\nSource\n","date":"2019-01-04T10:17:42Z","permalink":"/posts/2019-01-04-windows-10-change-wifi-wlan-network-priority/","title":"Windows 10 Change Wifi / WLAN Network Priority"},{"content":"I had two Windows 10 machines which had stopped pulling upgrades from Microsoft for quite long (1703, anyone?) and I could not get it back working.\nWindows Update just showed me the error 0x80070001 and did refuse to do anything.\nTried:\nClearing Windows Update Cache WSUS Offline Patching (installed the updates, but the normal Windows Update did not start working after that\u0026hellip;) Windows Update Repair Tool from Microsoft Nothing did really work, until I stumbled upon a post by OksiQuatzel:\nCulprit was the installed ImDisk, a virtual Floppy Drive. With this installed and an A Drive mounted - this error arose.\nAs soon as I unmounted the drive and removed the driver - everything started working again.\nKind of nuts that something like this could occur.\nActually I tried it with ImDisk, Virtual Floppy Drive 2.1 and other Virtual Floppy Drives and RAMdisk drives - there is a high chance that - if you use such a program, the Windows 10 Update does cease function\u0026hellip;\nSource in german\n","date":"2019-01-02T10:00:00Z","permalink":"/posts/2019-01-02-windows-10-update-error-0x80070001/","title":"Windows 10 Update Error 0x80070001"},{"content":"Here is my presentation to the ESP32 @ PiAndMore 11 (University Trier, 03.11.2018)\nesp32_PiAndMore11.pdf (1,81 MB, PDF)\nVideorecording of the talk can be found here\n","date":"2018-11-03T10:25:07Z","permalink":"/posts/2018-11-03-piandmore-esp32/","title":"[PiAndMore] ESP32 - WLAN-SoC für das Internet of Things II"},{"content":"Here is my presentation to the Raspberry Pi Introduction @ PiAndMore 11 (University Trier, 03.11.2018)\nRPi_PiAndMore11.pdf (4,68 MB, PDF)\nVideorecording of the talk can be found here\n","date":"2018-11-03T08:45:58Z","permalink":"/posts/2018-11-03-piandmore-raspberry-pi-introduction-presentation-3/","title":"[PiAndMore] Raspberry Pi Introduction Presentation"},{"content":"To get your Beaglebone Black (BBB) to work as an Logic Analyzer, you can use BeagleLogic:\n1.) Download latest version of BeagleLogic\nhttps://beaglelogic.readthedocs.io/en/latest/beaglelogic_system_image.html Released on 2017-07-13 sha256sum = be67e3b8a21c054cd6dcae7c50e9e518492d5d1ddaa83619878afeffe59c99bd https://goo.gl/RiXGBs 2.) Burn it onto sdcard with Etcher\n3.) Put SDCard into BeagleBone Black\n4.) Hold \u0026ldquo;Boot\u0026rdquo; Button, plug in BBB with Mini USB Cable to your PC\n5.) After 10 seconds or so, release \u0026ldquo;Boot\u0026rdquo; Button (this will just boot from SDcard with this trick)\n6.) Wait some time and login to 192.168.7.2 via SSH\nUsername: debian password: temppwd 7.) Test if BeagleLogic works\nls -l /dev/beaglelogic There should be entry /dev/beaglelogic as answer, if not check the BeagleLogic Website\n8.) Change uEnv.txt\nsudo vi /boot/uEnv.txt\n#go to following lines: ##enable Generic eMMC Flasher: ##make sure, these tools are installed: dosfstools rsync #cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh remove # from #cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh #save and exit 9.) Shutdown\nsudo shutdown now 10.) Boot again, this time with flasher\nHold \u0026ldquo;Boot\u0026rdquo; Button, plug in BBB with Mini USB Cable to your PC, after 10 seconds, release the button.\nDuring the flash process of the eMMC, the 4 leds will make a \u0026ldquo;Knight Rider\u0026rdquo; like lightshow.\nThis will take some minutes. The BBB will shutdown afterwards (all LEDs off).\n11.) Remove SDCard, replug Mini USB and boot without holding any buttons\n12.) Wait some time and login to 192.168.7.2 via SSH\nUsername: debian password: temppwd 13.) Open your webbrowser and go to: http://192.168.7.2:4000/#\nUpgrade:\nthis enables you to also use the BeagleLogic as \u0026ldquo;external analyzer\u0026rdquo; and control it from i.e. a Window System running a special version of pulseview 🙂 More infos: https://goo.gl/L9QUrt # Connect to Ethernet / Internet cd /opt/BeagleLogic/ git config http.sslVerify false git pull sudo apt update sudo ./install.sh --upgrade sudo reboot now Useful infos:\nhttps://beagleboard.org/getting-started#update http://beagleboard.org/latest-images https://beaglelogic.readthedocs.io/en/latest/beaglelogic_system_image.html https://beaglelogic.readthedocs.io/en/latest/install.html ","date":"2018-10-15T09:00:46Z","permalink":"/posts/2018-10-15-beaglelogic/","title":"BeagleLogic"},{"content":"The Nexus 7 has a quite faulty touchscreen which is prone to ghosting and similiar.\nIf you got your device rooted, you could go for Parrotmod, which seems to fix said problem:\nhttps://forum.xda-developers.com/nexus-7-2013/orig-development/beta-1-parrotmod-improve-2013-nexus-7-t3375928\nAnother soultion would be to flash a new touchscreen firmware, as shown here. However, I have not tested this yet.\n","date":"2018-10-10T09:00:27Z","permalink":"/posts/2018-10-10-nexus-7-fix-touchscreen/","title":"Nexus 7 Fix Touchscreen"},{"content":"1.) Open CMD.exe / Command Shell in Windows\n2.) wmic bios get serialnumber\nTaken from: https://www.dell.com/support/article/us/en/04/sln268357/how-to-locate-system-service-tag-using-command-prompt?lang=en\n","date":"2018-07-31T20:37:43Z","permalink":"/posts/2018-07-31-how-to-read-out-dell-servicetag-on-windows/","title":"How to read out Dell Servicetag on Windows"},{"content":"As described by JC-LAN, I had a lot of trouble with one particular \u0026ldquo;special\u0026rdquo; VMDK on a ESXi 6.5 system, which did not start after a reboot of the ESXi host.\nThe power-on failed with \u0026ldquo;File system specific implementation of LookupAndOpen[\u0026hellip;] failed\u0026rdquo; - however in the end it just gave me the overall error that it failed to start the machine. As it turned out, the VMDK was corrupted.\n1.) Enable SSH on the ESXi host with the corrupted VMDK - and login\n2.) Check the main VMDK (not with the name -s####.vmdk, the main file!) with\nvmkfstools -x check /absolute/path/vm.vmdk 3.) It will probably report that the fail is defective. Repair with\nvmkfstools -x repair /absolute/path/vm.vmdk 4.) Now you can try to start the VM again, helped me already 3 times 🙂\nTaken from: https://jc-lan.tk/2017/02/01/esxi-6-5-host-crash-then-guest-fails-to-power-on/\n","date":"2018-06-29T08:00:54Z","permalink":"/posts/2018-06-29-cannot-start-virtual-machine-on-esxi-6-5/","title":"Cannot start Virtual Machine on ESXi 6.5"},{"content":"Here is my presentation about resin.io, resinOS, balena and Fin @ the internal DLR \u0026ldquo;Erfahrungsaustausch Workshop - Software-Entwicklung V: Embedded Systems\u0026rdquo; (Bremen, 16.05.2018)\nresin_DLR_EAW_SE_V.pdf (6,07 MB, PDF)\n","date":"2018-06-27T07:08:18Z","permalink":"/posts/2018-06-27-talk-resinioos-and-fin-presentation/","title":"[Talk] resin(io|os) and Fin Presentation"},{"content":"As a \u0026ldquo;Edge\u0026rdquo; Version user of Docker for Windows, I tend to reinstall Docker from time to time, just to get a clean base. However, Hyper-V digs quite deep into the system and creates its own virtual network interfaces, which you just can\u0026rsquo;t delete from the Hyper-V Manager.\nBest option is to use (READ ALL BEFORE COPY AND PASTE, PLEASE!):\nnetcfg -d in a Administrator CMD window.\nThis does only delete virtual network devices - HOWEVER, it does delete devices like i.e. your OpenVPN interface AS WELL - AND does DELETE ALL SETTINGS of other network interfaces, i.e. your IP configuration or all your saved WIFI credentials.\nSo use with care!\nTaken from: https://serverfault.com/questions/584316/how-to-delete-hyper-v-virtual-switch-extensions-adapters-from-device-manager\n","date":"2018-06-26T12:20:18Z","permalink":"/posts/2018-06-26-how-to-delete-hyper-v-virtual-networkcards-in-windows-10/","title":"How to delete Hyper-V Virtual Networkcards in Windows 10"},{"content":"My Docker 101 Workshop @ Pythoncamp 2018 (07.04.2018, GFU Cyrus AG Köln, https://pythoncamp.de).\nDocker_Pythoncamp2018.pdf (1,13 MB, PDF).\nSourcecode / Example can be found on https://github.com/nmaas87/docker-demo\n","date":"2018-04-07T15:35:52Z","permalink":"/posts/2018-04-07-talk-docker-workshop-pythoncamp-2018/","title":"[Talk] Docker Workshop Pythoncamp 2018"},{"content":"3-14, PiDay. Sadly the day Stephen Hawking passed away - and the day the new Raspberry Pi 3B Plus was unveiled.\nSome days later, I got a small package:\nWith that small thing at hand, I was looking through the list of changes:\nBroadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1.4GHz 2.4GHz and 5GHz IEEE 802.11.b/g/n/ac wireless LAN, Bluetooth 4.2, BLE Gigabit Ethernet over USB 2.0 (maximum throughput 300 Mbps) Power-over-Ethernet (PoE) support (requires separate PoE HAT) Ok, CPU bumped from 1.2 to 1.4 GHz, new WiFi with 802.11ac (and 5 GHz support), BLE 4.2, PoE \u0026ldquo;support\u0026rdquo; - and Gigabit over USB 2.0.\nWell, not too bad.\nOne of the biggest downsides of the RPi - since its release - was the design choice to add Ethernet over USB 2.0 - while sharing the one and only USB 2.0 lane of the BCM with all the other USB sockets of the RPi. While this choice leads to lower production costs, it also limits the speed of Ethernet / USB especially in case where people tried to implement NAS or File sharing applications with an added USB Drive over Ethernet. To see how much the new design improved that old problem, I decided to Benchmark an \u0026ldquo;old\u0026rdquo; RPi 3B with the latest RPi 3B+ in the discipline of NFS.\nTest setup:\nRaspbian Stretch Lite (March 2018 / 2018-03-13 / Kernel 4.9) WD PiDrive 314 GB as HDD via USB Gigabit Ethernet Switch Benchmarking system: Windows 10 with MS NFS Client, Crystal Disk Mark 4.0.3 and Gigabit Ethernet NFS Exports Options: (rw,sync,no_subtree_check,all_squash,anonuid=65534,anongid=65534) The benchmark started with the old RPi 3B and no surprises:\nThe RPi 3B is lacking throughput at its USB 2.0 lane.\nNext up, was the new RPi 3B+:\nAnd - yes - the new design really showed some improvement, to say the least.\nHowever, I was wondering: What would happen if I added an SBC with a real USB 2.0 connection and real Gigabit Ethernet to the test?\nWell - I did that. Welcome the now 4 years old Banana Pi 1:\nWe are talking here about a 1 GHz Dual Core A20 processor with 1 GB RAM which is - i need to repeat - 4 years old - releases just 2 months before the Raspberry Pi 1 B+ came out - I direct competitor of the RPi 1st Generation. But, what happens if we use the SATA port - which is also included on the BPi? With\u0026hellip; lets say\u0026hellip; some Samsung 850 EVO 250 GB SSD - which I had laying around? 😉\nAnd what happens if I plug that in via USB?\nOk. Thats a bit confusing, to say the least. Could be that the SATA port is actually just coupled via USB to the BPi - however, I saw benchmarks on which the SATA port performed a lot better on the BPi.\nFor this benchmark, I used ARMBIAN:\nARMBIAN Debian Server mainline Kernel Armbian_5.38_Bananapi_Debian_stretch_next_4.14.14 Welcome to ARMBIAN 5.38 stable Debian GNU/Linux 9 (stretch) 4.14.18-sunxi So, bundling an SSD with some old SBC board will not give you the needed freedom to just drop buying expensive storage for your datacenters and replacing them with small boards - sadly ;). However, we could see that the new RPi 3B+ improved a lot in one of its weak points - but still gets beaten by an very old - and still very feisty rival.\n","date":"2018-03-21T12:07:44Z","permalink":"/posts/2018-03-21-nfs-benchmarking-rpi-3b-rpi-3b-bpi/","title":"NFS Benchmarking RPi 3B, RPi 3B+ \u0026 BPi"},{"content":"Here is my presentation about hologram @ PiAndMore 10 1/2 (University Stuttgart, 24.02.2018)\nhologram_PiAndMore1012.pdf (2,82 MB, PDF)\nVideorecording of the talk can be found here\n","date":"2018-02-25T17:22:07Z","permalink":"/posts/2018-02-25-piandmore-hologram-presentation/","title":"[PiAndMore] hologram Presentation"},{"content":"Here is my presentation to the Raspberry Pi Introduction @ PiAndMore 10 1/2 (University Stuttgart, 24.02.2018)\nRPi_PiAndMore1012.pdf (6,86 MB, PDF)\nVideorecording of the talk can be found here\n","date":"2018-02-25T17:21:57Z","permalink":"/posts/2018-02-25-piandmore-raspberry-pi-introduction-presentation-2/","title":"[PiAndMore] Raspberry Pi Introduction Presentation"},{"content":"Here is my presentation about resin.io, resinOS and balena @ Docker \u0026amp; Kubernetes Meetup Feb 2018 (Heidelberg, 20.02.2018)\nresin_DKM2018.pdf (2,57 MB, PDF)\nVideorecording of the talk can be found here\n","date":"2018-02-22T16:26:05Z","permalink":"/posts/2018-02-22-talk-resin-ioos-presentation/","title":"[Talk] resin(io|os) Presentation"},{"content":"To deploy the vCenter Server Appliance (vcsa) to an ESXi 6.5 Server, you need to grab the latest vCenter Server for Linux from http://vmware.com/go/evaluate-vsphere-en - at the moment, thats the Version 6.5.0U1d from 19.12.2017 - which equals to the file VMware-VCSA-all-6.5.0-7312210.iso. After downloading that DVD Image, just burn it to a DVD or unpack it. You can then go on with Deploying it via GUI - or via CLI.\nFor deploying it via GUI, just start vcsa-ui-installer\\win32\\installer.exe - if you\u0026rsquo;re on a Windows PC - or execute the installer / Installer.app files in the lin64 or mac folders.\nIf you want to deploy it via CLI using a template, you should navigate to vcsa-cli-installer\\win32. Within that folder, you will find the vcsa-deploy.exe - that is the one we are going to use.\nNow, we need to provide a template for deploying our vcsa:\n{ \u0026#34;__version\u0026#34;: \u0026#34;2.3.0\u0026#34;, \u0026#34;new.vcsa\u0026#34;: { \u0026#34;esxi\u0026#34;: { \u0026#34;hostname\u0026#34;: \u0026#34;ESXI_IP\u0026#34;, \u0026#34;username\u0026#34;: \u0026#34;ESXI_USER\u0026#34;, \u0026#34;password\u0026#34;: \u0026#34;ESXI_PASSWORD\u0026#34;, \u0026#34;deployment.network\u0026#34;: \u0026#34;ESXI_NETWORK, i.e. VM Network\u0026#34;, \u0026#34;datastore\u0026#34;: \u0026#34;ESXI_DATASTORE\u0026#34; }, \u0026#34;appliance\u0026#34;: { \u0026#34;thin.disk.mode\u0026#34;: true, \u0026#34;deployment.option\u0026#34;: \u0026#34;tiny\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;NAME_OF_THE_VCSA_APPLIANCE\u0026#34; }, \u0026#34;network\u0026#34;: { \u0026#34;ip.family\u0026#34;: \u0026#34;ipv4\u0026#34;, \u0026#34;mode\u0026#34;: \u0026#34;static\u0026#34;, \u0026#34;ip\u0026#34;: \u0026#34;IP_OF_THE_VCSA\u0026#34;, \u0026#34;dns.servers\u0026#34;: \u0026#34;DNS_SERVER_OF_THE_VCSA\u0026#34;, \u0026#34;prefix\u0026#34;: \u0026#34;NETMASK_OF_THE_VCSA\u0026#34;, \u0026#34;gateway\u0026#34;: \u0026#34;GATEWAY_OF_THE_VCSA\u0026#34;, \u0026#34;system.name\u0026#34;: \u0026#34;HOSTNAME_OF_THE_VCSA\u0026#34; }, \u0026#34;os\u0026#34;: { \u0026#34;password\u0026#34;: \u0026#34;PASSWORD_OF_THE_VCSA_ROOT_ACCOUNT\u0026#34;, \u0026#34;ntp.servers\u0026#34;: \u0026#34;0.pool.ntp.org\u0026#34;, \u0026#34;ssh.enable\u0026#34;: true }, \u0026#34;sso\u0026#34;: { \u0026#34;password\u0026#34;: \u0026#34;SSO_FOR_VCSA_PASSWORD\u0026#34;, \u0026#34;domain-name\u0026#34;: \u0026#34;DOMAIN_NAME_OF_VCSA_AD - could be vsphere.local\u0026#34;, \u0026#34;site-name\u0026#34;: \u0026#34;DEMOSITE\u0026#34; } }, \u0026#34;ceip\u0026#34;: { \u0026#34;description\u0026#34;: { \u0026#34;__comments\u0026#34;: [ [ \u0026#34;This is a demo template with disabled CEIP / Customer Telemetry\u0026#34; ] ] }, \u0026#34;settings\u0026#34;: { \u0026#34;ceip.enabled\u0026#34;: false } } } Just fill in the needed variables and save it in the root folder of your installer, i.e. as install_template.json. Then run the installer (in Windows, that means to execute following CMD): vcsa-deploy.exe install install_template.json --accept-eula\nThe installer will then deploy the vcsa and inform you, as soon as everythings ready:\n=============================================================================== vCenter Server Appliance installer finished deploying \u0026#34;HOSTNAME_OF_THE_VCSA\u0026#34;. This appliance is a vCenter Server instance with an embedded Platform Services Controller. System Name: IP_OF_THE_VCSA Log in as: Administrator@DOMAIN_NAME_OF_VCSA_AD i.e. Administrator@vsphere.local Finished successfully. =============================================================================== You can then log into https://IP_OF_THE_VCSA to the vCenter Server (with the SSO Login, i.e. Administrator@vsphere.local) or https://IP_OF_THE_VCSA:5480 to the vCenter Appliance Administration (with VCSA Login, i.e. root and PASSWORD_OF_THE_VCSA_ROOT_ACCOUNT)\n","date":"2017-12-25T13:00:22Z","permalink":"/posts/2017-12-25-vmware-deploy-vcenter-server-appliance-to-esxi-6-5/","title":"[VMWare] Deploy vCenter Server Appliance to ESXi 6.5"},{"content":"I had to install a Debian 9.3 without having access to the internet, so I downloaded the full size offline install DVD from https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd. As usual, I inserted the first DVD into the DVD Drive, started the install and everything worked fine - except for the moment where it didn\u0026rsquo;t ;): I needed to switch DVDs for some software - and directly afterwards, Debian came to the \u0026ldquo;Install Grub\u0026rdquo; step - and asked politly to insert DVD 1 again - which I tried to do - but could not:\nFor some reason, the Debian GUI Installer had locked the DVD Drive and I could not remove the DVD - could not open it. I then used the Emergency Eject, inserted DVD 1 and closed the Drive again with very mild force.\nHowever, the Installer did not recognize the new DVD and said, that I needed to insert a DVD. Well\u0026hellip;\nTo cope with that problem, just CTRL+ALT+F1 switch to a different Terminal, enter mount /dev/cdrom /cdrom and switch back to the Installer Terminal with CTRL+ALT+F7 (I think it was ;)) - and hit \u0026ldquo;Continue\u0026rdquo; - and from that moment on, it worked again and the installation ended successful after the GRUB installation.\n","date":"2017-12-22T11:00:16Z","permalink":"/posts/2017-12-22-debian-9-offline-installation-bug/","title":"Debian 9 Offline Installation Bug"},{"content":"As I wanted to have a very recent version of ESXi, I went to VMWares website and checked out their Products, Free Products, vSphere Hypervisor section. This, however, only presented me with a ESXi 6.5.0a ISO from 02.02.2017 - too old. However, you\u0026rsquo;ll get the much needed free license - so the visit pays off :).\nSo to get the latest version and updates, you need to go to http://vmware.com/go/evaluate-vsphere-en - and are presented with the 6.5.0 U1 ISO from 27.07.2017 - a lot better. With said image you can then install your server. Even if you had an old 6.5.0a install, you could download the VMware vSphere Hypervisor (ESXi) Offline Bundle - which will upgrade your old 6.5.0 installation to U1 from that site.\nAfter that, you\u0026rsquo;ll need to check out the very useful VMWare ESXi Patch Tracker on https://esxi-patches.v-front.de/ESXi-6.5.0.html. There you can see, which patches are needed to get your ESXi host to the latest version (in my case I only need to apply the 2017-10-05 patch series to get from U1 to latest). So now switch over to https://my.vmware.com/group/vmware/patch#search and look for ESXi 6.5.0 patches. I did find my needed ESXi650-201710001 patch with release date 05.10.2017 - and downloaded it. From the ESXi Patch Tracker I now know, that the Imageprofile of said Update is called ESXi-6.5.0-20171004001-standard and uses the Buildnumber 6765664**. I then enabled SSH on the ES**Xi Host, shutdown all VMs, put the ESXi Host into Maintance mode and uploaded the ESXi650-201710001.zip to a folder on my Datastore datastore01 into a folder I created called ESXiUpdate.\nAfter that, I could execute said update via SSH with the command esxcli software profile update --depot=\u0026quot;[datastore01]ESXiUpdate/ESXi650-201710001.zip\u0026quot; --profile ESXi-6.5.0-20171004001-standard\nAs you can see, it needs to provide the path to the patch file, as well as the Imageprofilename we found out earlier via the ESXi Patch Tracker. After the successful installation, a reboot is need.\nAs soon as the machine has booted again, login and check if the Buildnumber now matches the Updates Buildnumber. If this is true, disable the Maintenance Mode, restart the VMs and you\u0026rsquo;re good to go.\nIf other patches need to be applied, you would re-enable SSH access, not restart the VMs and not disable the Maintenance Mode and just keep on uploading and applying the updates :).\nMore infos abot the esxcli commands can be found here - and you can still use your free license with ESXi 6.5 which you acquired at the first steps of this weblog - even if you use the most recent patch (luckily!).\nAnd now, get those machines patched ;)!\n","date":"2017-12-20T11:00:51Z","permalink":"/posts/2017-12-20-vmware-get-and-upgrade-esxi-6-5-offline-without-paid-license/","title":"[VMWare] Get and upgrade ESXi 6.5 \"offline\" - without paid license"},{"content":"Earlier that year, very - earlier - I had one technician of an international company calling me for some advice. She/He had a problem with the local networking staff and their \u0026ldquo;modus operandi\u0026rdquo; regarding network security. The company had a big assembly line and very powerful, automated machinery - which made the leaky security all the more troublesome. My job was to exploit one of those security holes and show - as clearly and easily as possible - said problems - so that they were getting finally fixed.\nThe first stage of the whole testing was the usual: Reconnaissance. Though, in this case, this was very easily achived, as my contact handed me over parts of the firewall ruleset as well as an access to their office lan. First thing that lit up like a christmas tree: They actually had the production and office networks seperated by a firewall - which is good. For the bad part: They did drop everything. Everything except everykind of ICMP packets. Well. Damn.\nSecond stage was to create an exploit to that happy little mishap: My contact wanted to be able to bridge office and production networks and access them via the - according to the networking department - water tight secure firewall. The exploit needed to be able to run on a Windows 7 machine as well. With that in mind, I went through different ICMP tunnels: HANS and Dhaval Kapils icmptunnel were the first one to be dropped from that list, as they did not satisfy all constrains. In the end, I choose icmptunnel or short ptunnel. With a bit of manual patching, I could get it to compile and work again on Windows, thanks to the efforts of Mike Miller.\nFor testing I recreated the network and firewall using a Cisco 1841 and a Cisco 3560 switch. As I needed to integrate ptunnel into the production network, I wanted it to look as innocent and inconspicuous as possible: So I used a Raspberry Pi 3 and dumped it into a DIN Rail case - then I outfited it with a Power over Ethernet adapter and could serve it network as well as power over said network connection.\nThe tests worked flawlessly and I even cramped enough speed over ICMP to get some remote desktop working.\nOn to stage three: Attack.\nThis stage turned out to be way cooler than thought: Due to certain circumstances, we meet at night, 0 dark thirty - you could say - and sneaked through the production line, past workers which did not take much notice in my presence. I inserted the \u0026ldquo;Rogue Pi\u0026rdquo; into one closet next to an Siemens Human-Machine Interface and plugged it into the network switch.\nThen we left again. Back in the office, I tried to connect to my little helper and was immediately rewarded with a working ICMP tunnel - now transfering an SSH connection as payload. From that moment on, I could connect to a dozend different systems from different vendors in that production network. Last but not least, as \u0026ldquo;visual\u0026rdquo; demo, we created a little batch script to start the connection and connect to the Remote Desktop Interface / Human Machine Interface of a very heavy and very unsecured press - now leaving it to our control.\nAt this point, said connection was only opened in a \u0026ldquo;read/view only\u0026rdquo; mode so that - even by accident, we could not harm anyone. We had to bear in mind that this multi-hundred ton press was now at the mercy of our fingertips and we did not wanted to wreck hevoc at all costs - so - if you\u0026rsquo;re conducting field exercises with real \u0026ldquo;heavy hardware\u0026rdquo; - find a way to interact safetly with that - before you engage any connection to it.\nWith this preparation, the technician was able to run the demo in front of the higher ups and finally got the attention, permission and support needed to bring security to a higher standard.\nSo that effort paid of in the end for the production security of that company - and rewarded me with my first - and hopefully not last - field pentest :).\n","date":"2017-12-18T19:34:57Z","permalink":"/posts/2017-12-18-rogue-one-my-first-field-pentesting/","title":"Rogue One: My first field pentesting"},{"content":"Dell has an very comfortable way of getting new firmware to nearly all of its server components: The bootable media / ISO or Update CDs. You can find them on this website and very useful. On a basic level, you pick your server, download the ISO, compare the MD5 checksum and burn the ISO onto a DVD. After that, you should get the Servicetag of your server and check for BIOS and iDRAC updates - these should be installed manually first. After that, boot from the DVD and let it install all the needed firmware. Basically, the DVD will cycle through all firmware of components ever installed in the series of your particular server and installs updates if needed. After another reboot, you\u0026rsquo;re done :).\nThanks Dell for being so helpful to your users! 🙂\n","date":"2017-12-18T11:00:58Z","permalink":"/posts/2017-12-18-dell-using-the-update-cds-to-get-dell-servers-to-latest-firmware/","title":"[Dell] Using the Update CDs to get Dell Servers to latest firmware"},{"content":"The Dell T30 is an awesome little Homeserver, packing a punch with the Xeon E3-1225 V5 - and being affordable at about 399 €. It also comes with Intels Active Management Technology / AMT which is an extension of the horrible Intel Mangement Engine (which was all over the place months ago when some genius figured out how to stop that Man-in-the-Middle-always-on chip with some simple commands) - but quite useful - nonetheless. The good thing about this, is that it acts like an DRAC (Dell) / ILOM (Sun) / IPMI (Supermicro) card - so it is an KVM (Keyboard Video Mouse, not the virtualization thingy this time, sorry ;)) extension which allows you to control the server via network as if you were plugged in directly.\nThere is an awesome guide from Christian on goNeuland, written in German on howto setup that thing without the need to buy VNC Viewer Plus.\nHowever, my Ubuntu instance came in as blank screen after successfully connecting to the system. In the end, that turned out to be that way, as Ubuntu decided to deactivate the graphics unit - due to no monitor being attached.\nDifferent solutions were talked about here, here and here.\nIn my case, following helped:\n1.) Open your grub, i.e. sudo vi /etc/default/grub file\n2.) Add nomodeset to your GRUB_CMDLINE_LINUX_DEFAULT line, so that it would read i.e. GRUB_CMDLINE_LINUX_DEFAULT=\u0026quot;reboot=force bootdegraded=true nomodeset\u0026quot; (your commands will vary!)\n3.) Save and close the file\n4.) Update grub via sudo update-grub\nAnd after a quick reboot, everything worked out :)!\n","date":"2017-11-17T13:25:10Z","permalink":"/posts/2017-11-17-dell-t30-intel-amt-blank-screen-on-ubuntu-fix/","title":"[Dell] T30 Intel AMT Blank Screen on Ubuntu Fix"},{"content":"The Dell PowerConnect 2824 is an oldie but goldie 24 port Gigabit Managed Switch (with ports 23/24 being shared ports like on the Cisco 3560 PoE 8 - which have Gigabit Cooper Ports as well as SFP ports - but you can only use one at a time :)).\nYou can get them for about 80€ / delivered on eBay as used products and they are qualitywise very good and got an reasonable (although ugly) webinterface as well as SNMP and the usual stuff. They can work as managed or unmanaged switch, which can be switched via the \u0026ldquo;Mode\u0026rdquo; port on the front (holding it for less than 7 seconds during operation, it switches the Mode, longer than that -\u0026gt; reset).\nTo clean a newly acquired switch:\nConnect to Serial port via Null Modem Cable, 9600, 8, None - the usual Powercycle switch An \u0026ldquo;Autoboot in 2 seconds\u0026rdquo; will show up. Press ESC during that time to enter a special menu Enter 2 to \u0026ldquo;Erase flash file\u0026rdquo; and enter config to delete the config file. Press ESC to exit and boot You will see that the switch will be boot in Unmanaged Mode, and the \u0026ldquo;Managed\u0026rdquo; LED will turn off. Now Press the Mode switch for about 5 seconds, and it will turn to Managed Mode You can now setup the switch via Serial Console, or just wait 60 seconds for it to start up with the default values: 192.168.2.1 as HTTP Interface and admin as username - no password The latest Firmware for this Switch 1.0.0.45, A07 (more exactly Software Version 1.0.0.45 / Boot Version 1.0.0.13) can be downloaded here: http://www.dell.com/support/home/us/en/04/product-support/product/powerconnect-2824/drivers - you can update this Firmware via TFTP or Web Interface, you will find the option under System -\u0026gt; File Management -\u0026gt; File Download and need to switch to \u0026ldquo;Download via HTTP\u0026rdquo; to Upload the Firmware files (Boot Code = rfb, Software Image = ros) via the Web Interface and then reboot / reset the Switch (System -\u0026gt; General -\u0026gt; Reset)\nOn word of advise if you want to use this system with VLANs - which works a treat: Switch -\u0026gt; VLAN -\u0026gt; VLAN Membership. Chose you VLAN ID, give it a name and then click on the Switch Picture the Ports to the correct mode. Just a grey field means nothing, T means the VLAN comes on this port as VLAN tagged, U means untagged.\nTo put this into perspective: Grey - No connection, U - this port can directly be connected to a PC or other equipment and got the VLAN as native / vanilla LAN on its port, T - it is tagged and good to transport of multiple VLANs / i.e. trunks.\nTrunk config would be like that, i.e. Port 3 of the switch. With 3 vlans, I would go to my native VLAN 1 and set it to U, VLAN 2 to T and VLAN 3 to 3. From then on, I got VLAN 1 as native VLAN on the port and 2 and 3 tagged - and with that a nice little trunk to my i.e. Server.\nConfigurationwise, the Switch has some sensible defaults like Rapid Spanning Tree on all ports, Green Ethernet enabled. You should maybe remove all Community Strings from SNMP and disable it, if you would not use it and set some secure password. Other than that, good to go :)!\n","date":"2017-11-03T12:46:58Z","permalink":"/posts/2017-11-03-dell-powerconnect-2824-switch/","title":"[Dell] PowerConnect 2824 Switch"},{"content":"In case you haven\u0026rsquo;t noticed, we got a wonderful Halloween Gift from Marcos Liljedhal and Jonathan Leibiusky - the all new Play with Docker is online! 🙂\nIf you want to revisit the changes, just watch their video from Docker Con Europe 2017!\nPS: Please disable your Adblocker like uBlock Origin, that stuff can cause serious problems on Play with Docker - had to find that out myself just now ;).\n","date":"2017-11-01T09:16:29Z","permalink":"/posts/2017-11-01-play-with-docker-new-version-online/","title":"Play with Docker - New Version Online"},{"content":"\nWelcome 🙂\nBeing an Docker Campus Ambassador, I got the oppurtunity to visit Docker Con Europe 2017 - which was an awesome experience which I want to share here. As it has been quite some time since I\u0026rsquo;ve been to a bigger conference - and this trip does not only include visiting Docker Con - I am going to seperate this blog into two sections.\nFirst, I am going to go for the main take-aways, which should have been posted everywhere in the net already. Secondly, I\u0026rsquo;m going to go through the whole story and add some pictures of the beautiful city of Copenhagen.\nSo lets get started 🙂\n1.) Take aways\nModernize Traditional Apps (MTA)\nDocker has found itself a new usecase: Use Docker to deploy legacy apps in your DevOps enabled workflow. Docker does present tools for that during its keynote, like the Docker Application Converter. However, these tools are not given out to users and only work in the specific field of Tomcat Java Web Apps or IIS Web Apps with .NET. The only way to get your apps converted in a professional way, is to buy Docker Enterprise Edition and get a Docker Partner like Avanade or Amazic over to your premises and do the work for you. So it is not magic, but hard work to convert your old apps. More infos here.\nDocker with Swarm and Kubernetes\nDocker is going to include Swarm and Kubernetes in the future - side by side - which is awesome. However, the reason behind that might not tbe that Docker wants to do something for its users, but more for Google: In the past it was looking like Google is going to seperated from Docker and doing its own thing. So embracing Google and Kubernetes might be the thing that keeps Google from running away - and leading the pack away from Docker. I personally think that after some iterations, Swarm and Kubernetes might disappear and lead way to another tool, which consists of parts of Swarm and Kubernetes. You might want to buy KubeSwarm.com today? 😉 Oh, and if you want to join the adventure early: beta.docker.com will get you started.\nDocker Certified Associate\nThere is a official Docker Certification available now, which can be found here. Due to beeing a Beta Tester, I was already in that program - however, the first experience was kind of rough, which should be corrected by now to a more pleasent one. To get you started, we prepared a little DCA Prep Guide on Github. PRs are very welcome!\nARM (IoT) - Resin\nFinally I got to meet up with the nice guys and girl of resin.io - if you\u0026rsquo;re a regular on my blog, you might have seen a load of different articles and videos about their Infrastructure platform for IoT, as well as their OS resinOS for IoT applications. Basically: They get Docker running on Raspberry Pi and similiar platforms. And they also created balena, which I already talked about in this post.\nARM (Server) - Qualcomm\nDockerCon is a Software Convention by design, so vendors like Cisco had a hard job getting to people. But the hardest job among all, had Chandni Chandran and Elsie Wahlig from Qualcomm. They actually showcased the coolest piece of hardware of the overall convention (just fighting with the bleeding-edge new specialized Prototype Raspberry Pi from resin ;)) - the Qualcomm Centriq 2400 - a 48 core ARMv8 CPU - ready for datacenter usage - and yes, it does run Linuxkit! Meeting Chandni, the Product Manager for this Server Series, and Elsie, the Director of Product Management for Datacenter Technologies was a huge honor, as well as it was a blast for an ARM fanboy as I am ^^\u0026rsquo;. The cool thing about their technology is, that it might come soon to packet.net (which I did review sometime ago) - so, lets get our fingers crossed that this beautiful and awesome machine finds its way into the racks of every major hoster - and maybe onto my table 😉 [Hey, it is as cool as you could really use it without building a server closet around it - and.. for the other insane path - dreaming is allowed, ain\u0026rsquo;t it? :3]\nMonitoring\nFelt like the \u0026ldquo;hot-*hit\u0026rdquo; of this Docker Con: Nearly everyone was holding up a product in that area. Be it DataDog, sysdig or Instana. However, as some booth-visitors pointed out - some of these products, like DataDog, only exist in a SaaS solution and cannot be used on-prem. Quite the security breach you got there\u0026hellip; I would go with Instana.\nSecurity Solutions\nCyberArk, BlackDuck, Aqua Security, Twistlock and cilium - among others. I would vote for cilium, as they do Open Source.\nStorage\nStorageOS, Virtuozzo Storage, elastfile, NetApp, Zenko CloudServer where the main players, however, next to the raw storage, also storage adapters were available like the Zenko Multi Cloud Connector or the ever famous RexRay - it seems like quite a trend to go more and more to Amazon S3 compatible interfaces. For reference I linked only vendors which had Community Editions or Open Source Software available ;).\nVirtualization\nVMware, Cisco, IBM, Nutanix. Well, that was a surprise. While VMware stays on track with its vSphere Integrated Containers 1.2, Cisco trys to wrap up Docker in its UCS and Flexpod series via RedHat. IBM starts up with its IBM Cloud Private - which even comes in a Community Edition - and seems interesting. Same goes for Nutanix Community Edition which can be checked out here.\nMisc\nSomehow everyone seems to go out for an Enterprise Edition now: Create.io, Redis Enterprise and nginx+ (Load Balancer). But somehow, some of these corporations deserve special treatment: nginx+ is all about trust, as you get your binaries delivered without \u0026ldquo;call-home\u0026rdquo; - which is a nice thing and I would love to see this being the \u0026ldquo;norm\u0026rdquo; again. Other than that, jFrog was there with awesome coffee and lovely designed shirts, as well as Atlassian and other DevOps tool makers like Puppet, Chef and Rancher. Also - Microsoft, Amazon and Google had their booths as well but\u0026hellip; well, that was kind of a must, so ;).\n2.) The whole story\nWell, now that we got through this, we might add some images to complete the overall picture ;)!\n- here I got information that resins new Moby Clone balena had been released. So I just grabbed the next Wifi Connection, downloaded all files - and went back into the air - next stop: Copenhagen!\nOn Monady, we got to attend the Community Leaders Summit. We finally got to meet a big part of the Community Leaders familiy, Meetup Organizers from all over the world - and other Campus Ambassadors, which was awesome. I finally got to meet Karen Bajza, Bret Fisher, Jean-Marc Meessen and Jens Doose, which was really cool :).\nDuring all that time, I could meet up with Xinity, Gildas Cuisinier, Oliver Robert and Xiaowen - waiting eagerly for the keynote.\n- with Michael Irwin!\nwith Alex Ellis\nI finally meet Chanwit Kaewkasi during a Hallway Track and as he is a fellow ARM fan - I could not help but bring him to the Qualcomm booth to get him some demotime - I think I liked it ;).\nI was very lucky and attended the MTA Pin Challenge - during that I bumped into Mano Marks - finished the Challenge as first one, and got an custom WASD Keyboard with some nice finish. Nick Harvey found out about that - and my new job - and completely went bananas - as he figured out that this keyboard might soon receive code which could go to space\u0026hellip; Well\u0026hellip; Let\u0026rsquo;s hope so ;).\nAnd with that, I conclude my little Docker Con recap. I hope you enjoyed the ride as much as I did - there are certainly interesting times ahead ;)!\nPS: I heared the recorded videos are online now :3\n","date":"2017-10-27T15:41:00Z","permalink":"/posts/2017-10-27-docker-con-europe-2017-a-recap/","title":"Docker Con Europe 2017 - A recap"},{"content":"Hi there,\nthe last year was quite a ride, so I wanted to share some more or less private stuff about what is going on in my life currently:\na) As not mentioned here on the blog, I did my Bachelors Degree on Applied Computer Sciences at the University of Applied Sciences (htw saar) in Saarbrücken. After that, I started my Masters Studies in Computer Sciences at the University of Trier. I concluded my studies with the degree Master of Science in July of this year :).\nb) As of July, I also started working as an Docker Campus Ambassador.\nThe main idea of said program is to give students access to a fellow peer which is involved in Docker and could be kind of mentor to them in all Docker related questions - which was something I was already involved with back in early 2016, i.e. at the Saarcamp 2016 - so I decided to do said work in a more official way 😉.\nSadly, I am going to need to resign from said position soon, as I am going to leave the University Trier at the end of the year. Which brings me to c):\nc) I am going to move to another city at the end of the year and start to work for an yet to be disclosed corporation in the aerospace sector as IT Engineer with some additional work loads - which I am very excited about.\nd) I am still working on my Ticketing / Convention Management System called JCTixx, and that system just got an big upgrade, in terms of new ticket scanners, which come in two different types: The big appliance version and a smaller, portable version:\nAlso, I had the oppurtunity to visit Docker Con Europe 2017 - which I am going to write about in a upcoming post.\nSo to sum it all up: This year was quite a ride and I am very happy how it turned out so far - and I am hoping for some vacation as soonish as possible - and more time to produce content for this blog :)! Thanks a lot for sticking with me, I just recalled that this blog is going to be 10 years old next year - which is quite awesome and I hope to continue this work with interesting articles and insights maybe from a higher - earth viewing perspective - quite soon ;).\nAll the best,\nNico\n","date":"2017-10-26T09:37:00Z","permalink":"/posts/2017-10-26-state-of-decay-m-sc-docker-campus-ambassador-work/","title":"State of Decay: M.Sc. / Docker Campus Ambassador / Work"},{"content":"Just two days ago, resin.io announced balena their new, moby based container engine. Basically, it is a Docker-dropin-replacement for IoT Devices: It is compatible with Docker and Docker Hub, gains a lot of stabilty with atomic pulls, more conservative flash memory use - as well as smaller updates due to true container delta pulls. Also, it comes bundled as single file, is smaller in size and as easy to use as Docker. So - a very good bundle.\nHowever, this comes with the disadvantage of losing Plugin support, Swarm, Cloud logging, Overlay networking and Non-boltdb backed stores - which is a small price to pay, as none of these features are really needed in an IoT scenario.\nbalena is going to replace Docker in resin.io and resinOS in the near future - but I wanted to testdrive it right now, which ended up in me pluggin my Raspberry Pi 3 inflight from Zurich to Copenhagen and getting it \u0026ldquo;flying\u0026rdquo; ;).\nTo get it working, little is needed :):\n1.) Download and install the latest Raspbian image (Stretch Lite should do the trick)\n2.) Login to the RPi and run the installer: curl -sfL https://balena.io/install.sh | sh\n(Always check the file before running it to shell, to be sure nothing bad happens!)\n3.)\nsudo balenad \u0026amp; 4.) Now you can use balena like docker with the command sudo balena\nThe whole thing works pretty good - this short scrible is just to get it working for using it in a hackish way - a real tutorial will come as soon as I get the time to make it really persistent and auto-starting\u0026hellip; But.. Well ;). Living on the edge comes with sacrifices :).\nIf you\u0026rsquo;re on Docker Con and want to meet up, just send me a message via Twitter, E-Mail or the Hallway Track - see you soon ;)!\n","date":"2017-10-15T14:07:43Z","permalink":"/posts/2017-10-15-running-resin-balena-on-raspberry-pi-3/","title":"Running resin balena on Raspberry Pi 3"},{"content":"For my German readers: I took part in Leonid Lezner\u0026rsquo;s Allesnetz Podcast 11 - about Resin.io and Docker - together with Resin.ios very own Jonas Hermsmeier - you can check out the podcast here.\n","date":"2017-09-30T08:00:53Z","permalink":"/posts/2017-09-30-talk-allesnetz-11-podcast-docker-container-fur-iot-mit-resin-io/","title":"[Talk] Allesnetz 11 Podcast: Docker Container für IoT mit Resin.io"},{"content":"I had installed WSL (Windows Subsystem for Linux) a long time ago to gain access to Ubuntu 14.04 LTS directly from my Windows 10 Desktop. However, as time passes, Software grows old. Upgrading the Ubuntu Subsystem via apt-get update / do-release-upgrade should work, but that could have some nasty sideeffects, considering that the 14.04 LTS WSL release had been a beta test - so, a reinstall should be better.\nLuckily, TechRepublic got this covered. Just open a CMD and run:\nlxrun /uninstall /full /y to uninstall the current WSL version.\nAfterwards, try\nlxrun /install to reinstall it. With this \u0026ldquo;reinstall\u0026rdquo;, Ubuntu 16.04 LTS will be installed.\nNonetheless, I recommend a nice\nsudo apt-get update\rsudo apt-get dist-upgrade afterwards in your BASH session to get the WSL to the latest version ;).\n","date":"2017-09-20T07:30:47Z","permalink":"/posts/2017-09-20-upgrade-wsl-windows-subsystem-for-linux-on-windows-10/","title":"Upgrade WSL (Windows Subsystem for Linux) on Windows 10"},{"content":"To use the PERC6/i i.e. the\n03:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 1078 (rev 04) on Ubuntu, megacli is the best tool - but rarely available due to the demise of LSI Logic. Good thing that the guys from https://hwraid.le-vert.net put together a nice repo to host the latest RAID files. And yes, for everyone that does not like the idea of including a foreign repo - sorry to disappoint here :/.\nInstall # Add GPG signatures\rwget -O - https://hwraid.le-vert.net/debian/hwraid.le-vert.net.gpg.key | sudo apt-key add -\r# Add Package Repo\recho \u0026#34;deb http://hwraid.le-vert.net/ubuntu xenial main\u0026#34; | sudo tee -a /etc/apt/sources.list.d/hwraid.list\r# Upgrade and Install\rsudo apt-get update\rsudo apt-get install megacli After that, megacli is installed and can be used:\nBasic Commands Info Controller sudo megacli -AdpAllInfo -aAll\rsudo megacli -CfgDsply -aALL Info Virtuelles Laufwerk sudo megacli -LDInfo -Lall -aALL Info Battery sudo megacli -AdpBbuCmd -aALL I picked out the most important infos for me and wrote this little script\n#!/bin/bash\recho \u0026#34;Some Infos are commeted out in this script to not overwhel the user ;)\u0026#34;\r#echo \u0026#34;----------------------- RAID Controller\u0026#34;\r#sudo megacli -AdpAllInfo -aAll\r#echo \u0026#34;----------------------- RAID Controller Config\u0026#34;\r#sudo megacli -CfgDsply -aALL\recho \u0026#34;----------------------- RAID Battery\u0026#34;\r#sudo megacli -AdpBbuCmd -aALL\rsudo megacli -AdpBbuCmd -aALL | grep \u0026#34;Battery State:\u0026#34;\rsudo megacli -AdpBbuCmd -aALL | grep \u0026#34;Charger Status:\u0026#34;\rsudo megacli -AdpBbuCmd -aALL | grep \u0026#34;Relative State of Charge:\u0026#34;\rsudo megacli -AdpBbuCmd -aALL | grep \u0026#34;Next Learn time:\u0026#34;\recho \u0026#34;----------------------- RAID Virtual Drive\u0026#34;\r#sudo megacli -LDInfo -Lall -aALL\rsudo megacli -LDInfo -Lall -aALL | grep \u0026#34;State\u0026#34;\recho \u0026#34;----------------------- RAID Harddrive Status\u0026#34;\rsudo megacli -CfgDsply -aAll | grep \u0026#34;Drive has flagged a S.M.A.R.T alert\u0026#34; Additional infos can be found on:\nhttp://erikimh.com/megacli-cheatsheet/ https://www.thomas-krenn.com/de/wiki/MegaRAID_Controller_mit_MegaCLI_verwalten ","date":"2017-09-06T09:30:11Z","permalink":"/posts/2017-09-06-ubuntu-perc6i-on-ubuntu-16-04-lts/","title":"[Ubuntu] PERC6/i on Ubuntu 16.04 LTS"},{"content":"As I mentioned earlier, I use a virtual Freifunk Router as part of my mobile Infrastructure / Server. With this little VM, I can actually run a big-area Freifunk Network with lots of users without having to invest in new TP-Link accesspoints: I am running the VM, outputing the Freifunk LAN to a designated VLAN and use old spare Accesspoints as dumb \u0026ldquo;Media-Converters\u0026rdquo; (LAN to WIFI ;)).\nBut, as I only use this appliance every now and then for different kind of conventions and conferences, I need to upgrade that Appliance manually, to get it straight to the latest version without waiting or reinstalling (and droping the VPN key\u0026hellip;).\nActually, that is quite simple in VMWare: Just go to the terminal of said VM and get started. Well. Ok, stop! Before you\u0026rsquo;re doing that, just remember: You\u0026rsquo;re on a VM. You got no excuse at all for not making a backup - so just shutdown your VM, make a snapshot, then turn it back on - and get started. Better safe than sorry ;)!\nFirst, we\u0026rsquo;re going to install wget with SSL support\nopkg update\ropkg install wget Then we need to find the latest version of our Freifunk Firmware - as sysupgrade package. I used the gluon-fftr-0.8.4-x86-vmware.vmdk to install the VM, so I need an x86-generic-sysupgrade.img.gz :). I found that thing here: https://github.com/freifunktrier/firmware_store/tree/master/firmware/stable/sysupgrade. However, please bear in mind to use the image from YOUR Freifunk Provider ;). Try to download the image and get to the \u0026ldquo;RAW FILE\u0026rdquo; link on Github and use it to download the file to your VM:\ncd /tmp\rwget -O sysupgrade.img.gz https://github.com/freifunktrier/firmware_store/blob/master/firmware/stable/sysupgrade/gluon-fftr-0.8.6+jenk_tackin-x86-generic-sysupgrade.img.gz?raw=true After that, apply the upgrade and reboot:\nsysupgrade -v /tmp/sysupgrade.img.gz\rreboot And thats it :)!\nThanks a lot again to Freifunk Trier for supporting my project :).\n","date":"2017-09-01T13:50:41Z","permalink":"/posts/2017-09-01-freifunk-upgrade-virtual-freifunk-router-on-vmware-esxi-6-5/","title":"[Freifunk] Upgrade Virtual Freifunk Router on VMWare ESXi 6.5"},{"content":"My Windows 10 machine started behaving weirdly and did not mount any USB Drives / Harddrives and such anymore. I had to open the Disk Management Tool and mount them manually, which is quite inconvenient. So I was looking up the error and came across the nearly perfect solution at http://woshub.com/windows-doesnt-assign-letters-to-external-and-usb-flash-drives/ . However, I did change it a bit so that the VDS is changed to automatically start on boot via the CLI :).\nOh, and yes, you need to do this from an admin cmd 😉\nFirst thing to check if something is wrong, is if your VDS (Virtual Disk Service) works. If not, set it to start on boot and start the service:\nsc query vds\rsc config vds start=auto\rsc start vds\rsc query vds If automounting still not works, it could be deactivated. Start diskpart, watch the status of automount and if it is disabled, activate it.\ndiskpart\rDISKPART\u0026gt; automount\rDISKPART\u0026gt; automount enable\rDISKPART\u0026gt; exit Now everything should be working fine again 🙂\n","date":"2017-08-04T08:54:27Z","permalink":"/posts/2017-08-04-solve-windows-10-does-not-automount-usb-drives-anymore/","title":"Solve Windows 10 does not automount USB Drives anymore"},{"content":"There are several old Gigabyte Motherboards like the GA-MA Series which uses their BIOS Included Q-Flash Utility for upgrading. This tool tries to access an attached USB Device in a file browser way to give you the choice on which file to flash. Most of the time, you won\u0026rsquo;t be able to access your drive, as it will only be shown as \u0026ldquo;Floppy B\u0026rdquo;. In truth, this means your USB drive is formated the wrong way: You should have only one partition on that stick, with size LESS than 128 MB and FAT as file system. Yeah, I figured that out the hard way ^^\u0026rsquo;. It will then be shown as \u0026ldquo;HDD 0-0\u0026rdquo; in Q-Flash and will provide your files for easy upgrading 🙂\n","date":"2017-07-31T13:00:42Z","permalink":"/posts/2017-07-31-gigabyte-bios-upgrade-on-old-gigabyte-motherboards/","title":"[Gigabyte] BIOS Upgrade on old Gigabyte Motherboards"},{"content":"Hi there, I just got hands on an old Dell T1500 workstation. It is not the beefiest monster - but still kicking. And I got it for a bargain :). So, while I was refurbishing it, I wanted to do an BIOS upgrade, like usual. Turned out, Dell only offers a combined \u0026ldquo;DOS/WINDOWS\u0026rdquo; Upgrade File. I tried upgrading via an FreeDOS USB Stick, created with Rufus, however - it failed. Ok, lets try Windows: I installed Windows 8.1 x64 - and the tool \u0026ldquo;worked\u0026rdquo; - however, even after reboot, nothing had changed. Reset CMOS, Load Default in BIOS, nothing. Darn\u0026hellip; Well.. All the Dell support stuff for this machine was around Windows 7-ish versions, so I thought \u0026ldquo;last chance\u0026rdquo; 😉 - and yes! It worked:\nYou need to install Windows 7 x64 and upgrade the Bios 2.0.2 to 2.4.0 via your Windows install. DOS seems to be not working - and Windows 8.1 won\u0026rsquo;t work either. Also for good measure, load the default settings before upgrading and leave all other settings (especially the disabled fancy CPU stuff!) untouched.\nAlso, you\u0026rsquo;ll see directly if it works: During the Win 7 upgrade, it disabled the USB mouse I was using and it took way longer. On Windows 8.1 - I could move the mouse as I wished. Oh, and one last thing: Administator rights, please ;).\n","date":"2017-07-27T12:00:39Z","permalink":"/posts/2017-07-27-dell-bios-upgrade-on-a-dell-precision-t1500/","title":"[Dell] BIOS Upgrade on a Dell Precision T1500"},{"content":"In this howto we will get CUDA working in Docker. And - as bonus - add Tensorflow on top! However, please note that you\u0026rsquo;ll need following prereqs:\nGNU/Linux x86_64 with kernel version \u0026gt; 3.10\rDocker \u0026gt;= 1.9 (official docker-engine, docker-ce or docker-ee only)\rNVIDIA GPU with Architecture \u0026gt; Fermi (2.1)\rNVIDIA drivers \u0026gt;= 340.29 with binary nvidia-modprobe We will install the NVIDIA drivers in this tutorial, so you should only have the right kernel and docker version already installed, we\u0026rsquo;re using a Ubuntu 15.05 x64 machine here. For CUDA, you\u0026rsquo;ll need a Fermi 2.1 CUDA card (or better), for tensorflow a \u0026gt;= 3.0 CUDA card\u0026hellip;\nWhich Graphicscard Model do I own? lspci | grep VGA\rsudo lshw -C video Output i.e.:\nproduct: GF108 [GeForce GT 430]\rvendor: NVIDIA Corporation You should lookup on google if it works with cuda / Fermi 2.1, i.e. on https://developer.nvidia.com/cuda-gpus\nGeForce GT 430 - Compute: 2.1 Ok, that one works!\nI got additional infos from: https://www.geforce.com/hardware/desktop-gpus/geforce-gt-430/specifications\nCUDA and Docker? You can find out more about that topic on https://github.com/NVIDIA/nvidia-docker\nGetting it to work will be the next step:\nDownload right CUDA / NVIDIA Driver from http://www.nvidia.com/object/unix.html\nI choose Linux x86_64/AMD64/EM64T, Latest Long Lived Branch version: 375.66, but please check in the description of the file, if your graphics card is supported!\nAfter Download, install the driver: chmod +x NVIDIA-Linux-x86_64-375.66.run\rsudo ./NVIDIA-Linux-x86_64-375.66.run It will ask for permission, accept it. If it gives info that the nouveau driver needs to be disabled, just accept that, in the next step, it will generate a blacklist file and exit the setup. Afterwards, run\nsudo update-initramfs -u and reboot your server. Then, rerun the setup with\nsudo ./NVIDIA-Linux-x86_64-375.66.run You can check the installation with\nnvidia-smi and get an output similar to this one:\nMon Jul 24 09:03:47 2017\r+-----------------------------------------------------------------------------+\r| NVIDIA-SMI 375.66 Driver Version: 375.66 |\r|-------------------------------+----------------------+----------------------+\r| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\r| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\r|===============================+======================+======================|\r| 0 GeForce GT 430 Off | 0000:01:00.0 N/A | N/A |\r| N/A 40C P0 N/A / N/A | 0MiB / 963MiB | N/A Default |\r+-------------------------------+----------------------+----------------------+\r+-----------------------------------------------------------------------------+\r| Processes: GPU Memory |\r| GPU PID Type Process name Usage |\r|=============================================================================|\r| 0 Not Supported |\r+-----------------------------------------------------------------------------+ which means that it worked!\nInstall nvidia-docker and nvidia-docker-plugin wget -P /tmp https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.1/nvidia-docker_1.0.1-1_amd64.deb\rsudo dpkg -i /tmp/nvidia-docker*.deb \u0026amp;\u0026amp; rm /tmp/nvidia-docker*.deb Test nvidia-smi from Docker nvidia-docker run --rm nvidia/cuda nvidia-smi should output:\nUsing default tag: latest\rlatest: Pulling from nvidia/cuda\re0a742c2abfd: Pull complete\r486cb8339a27: Pull complete\rdc6f0d824617: Pull complete\r4f7a5649a30e: Pull complete\r672363445ad2: Pull complete\rba1240a1e18b: Pull complete\re875cd2ab63c: Pull complete\re87b2e3b4b38: Pull complete\r17f7df84dc83: Pull complete\r6c05bfef6324: Pull complete\rDigest: sha256:c8c492ec656ecd4472891cd01d61ed3628d195459d967f833d83ffc3770a9d80\rStatus: Downloaded newer image for nvidia/cuda:latest\rMon Jul 24 07:07:12 2017\r+-----------------------------------------------------------------------------+\r| NVIDIA-SMI 375.66 Driver Version: 375.66 |\r|-------------------------------+----------------------+----------------------+\r| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\r| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\r|===============================+======================+======================|\r| 0 GeForce GT 430 Off | 0000:01:00.0 N/A | N/A |\r| N/A 40C P8 N/A / N/A | 0MiB / 963MiB | N/A Default |\r+-------------------------------+----------------------+----------------------+\r+-----------------------------------------------------------------------------+\r| Processes: GPU Memory |\r| GPU PID Type Process name Usage |\r|=============================================================================|\r| 0 Not Supported |\r+-----------------------------------------------------------------------------+ Yep, you got it working in Docker!\nRunning an interactive CUDA session isolating the first GPU NV_GPU=0 nvidia-docker run -ti --rm nvidia/cuda Input our first Hello World program echo \u0026#39;#include \u0026lt;stdio.h\u0026gt;\r// Kernel-execution with __global__: empty function at this point\r__global__ void kernel(void) {\r// printf(\u0026#34;Hello, Cuda!\\n\u0026#34;);\r}\rint main(void) {\r// Kernel execution with \u0026lt;\u0026lt;\u0026lt;1,1\u0026gt;\u0026gt;\u0026gt;\rkernel\u0026lt;\u0026lt;\u0026lt;1,1\u0026gt;\u0026gt;\u0026gt;();\rprintf(\u0026#34;Hello, World!\\n\u0026#34;);\rreturn 0;\r}\u0026#39; \u0026gt; helloWorld.cu Compile it within the Docker container nvcc helloWorld.cu -o helloWorld Execute it\u0026hellip; ./helloWorld and you get,\u0026hellip; Hello, World! Congrats, you got it working!\nEncore, Tensorflow Getting Tensorflow to work is straight forward: nvidia-docker run -it -p 8888:8888 tensorflow/tensorflow:latest-gpu It will output something like:\nCopy/paste this URL into your browser when you connect for the first time, to login with a token:\rhttp://localhost:8888/?token=d747247b33023883c1a929bc97d9a115e8b2dd0db9437620 you should do that 🙂\nThen enter the 1_hello_tensorflow notebook and run the first sample:\nfrom __future__ import print_function\rimport tensorflow as tf\rwith tf.Session():\rinput1 = tf.constant([1.0, 1.0, 1.0, 1.0])\rinput2 = tf.constant([2.0, 2.0, 2.0, 2.0])\routput = tf.add(input1, input2)\rresult = output.eval()\rprint(\u0026#34;result: \u0026#34;, result) by selecting it and clicking on the \u0026gt;| (run cell, select below) Button.\nThis worked for me:\nresult: [ 3. 3. 3. 3.] however\u0026hellip; sadly not the GPU was calculating the results as shown by the Docker CLI:\nKernel started: 2bc4c3b0-61f3-4ec8-b95b-88ed06379d85\r[I 07:31:45.544 NotebookApp] Adapting to protocol v5.1 for kernel 2bc4c3b0-61f3-4ec8-b95b-88ed06379d85\r2017-07-24 07:32:17.780122: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn\u0026#39;t compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.\r2017-07-24 07:32:17.837112: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:893] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\r2017-07-24 07:32:17.837440: I tensorflow/core/common_runtime/gpu/gpu_device.cc:940] Found device 0 with properties:\rname: GeForce GT 430\rmajor: 2 minor: 1 memoryClockRate (GHz) 1.4\rpciBusID 0000:01:00.0\rTotal memory: 963.19MiB\rFree memory: 954.56MiB\r2017-07-24 07:32:17.837498: I tensorflow/core/common_runtime/gpu/gpu_device.cc:961] DMA: 0\r2017-07-24 07:32:17.837522: I tensorflow/core/common_runtime/gpu/gpu_device.cc:971] 0: Y\r2017-07-24 07:32:17.837549: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1003] Ignoring visible gpu device (device: 0, name: GeForce GT 430, pci bus id: 0000:01:00.0) with Cuda compute capability 2.1. The minimum required Cuda capability is 3.0. So, CUDA \u0026gt;= 3.0 devices only for tensorflow 🙁 - but, it still works, as it is using the CPU (however, not as fast as it could :/)\nInfos taken from: https://github.com/NVIDIA/nvidia-docker https://developer.nvidia.com/cuda-gpus https://hub.docker.com/r/tensorflow/tensorflow/ ","date":"2017-07-24T12:00:25Z","permalink":"/posts/2017-07-24-cuda-and-tensorflow-in-docker/","title":"CUDA and Tensorflow in Docker"},{"content":"Mounting zfs on FreeBSD 9.3 LiveFS for recovery\n# List zfs pools\rzpool import\r-\u0026gt; i.e. syspool\r# mount zfs pool syspool\rzpool import -f -R /mnt syspool\r# create mnt folder for new folder\rmkdir /tmp/home\r# mount data from zfs pool syspool\rmount -t zfs syspool/DATA/home /tmp/home\r# work on stuff and umount /tmp/home\r# then umount zfspool\rzfs umount -a Format a harddrive on FreeBSD 9.3 and mount it as folder\n# format drive with ufs\rnewfs /dev/da1\r# create tmp folder\rmkdir /tmp/mnt\r# mount new drive\rmount -t ufs /dev/da1 /tmp/mnt\r# copy files\rcp -R /tmp/home/* /tmp/mnt/ ezjail stuff\n# show jails\rezjail-admin list\r# Get to console\rezjail-admin console JAILNAME\r# Start / Stop\rezjail-admin start JAILNAME\rezjail-admin stop JAILNAME\r# No Autorun\rezjail-admin config -r norun JAILNAME\r# Autorun\rezjail-admin config -r run JAILNAME\r# Jail Folder on FreeBSD: /usr/jails/JAILNAME\r# Internal Jail Folder on FreeBSD: /usr/jails/JAILNAME/*/var/HEREISHOME ","date":"2017-07-05T14:13:41Z","permalink":"/posts/2017-07-05-freebsd-some-personal-notes-for-emergencies/","title":"[FreeBSD] Some personal notes for emergencies"},{"content":"As the time of writing, resinOS is available for Download at Version 2.0.6+rev3.dev for Raspberry Pi 3. This build, however, is nearly 2 weeks old and in the meantime, something great happend: Docker has finally updated to Version 17.03.1 - upgraded from the old ~10 (ten-ish) version - which was not that cool (and without Swarm ;)). So, it is a good idea to get to know how to build your own resinOS in case you really want to live on the bleeding edge ;).\nInstall Dependencies (Ubuntu 16.04 LTS)\nsudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \\\rbuild-essential chrpath socat cpio python python3 python3-pip python3-pexpect \\\rxz-utils debianutils iputils-ping libsdl1.2-dev xterm goto /, because this build will create very long filenames\ncd / clone the repo, maybe some root power is needed here 😉\ngit clone https://github.com/resin-os/resin-raspberrypi\rcd resin-raspberrypi\rgit submodule update --init --recursive you would be done here and could build your own resinOS with the build command,\nhowever, if you really want to pull the latest upgrades\u0026hellip;\ncd layers/meta-resin\rgit checkout master\rgit pull\rcd ../.. finally build resinOS for Raspberry Pi 3\n./resin-yocto-scripts/build/barys -r --shared-downloads $(pwd)/shared-downloads/ --shared-sstate $(pwd)/shared-sstate/ -m raspberrypi3 after quite some time, you\u0026rsquo;ll find the image in\nbuild/tmp/deploy/images/raspberrypi3/resin-image-raspberrypi3.resinos-img There is quite a lot of stuff you can change on your resinOS, so be sure to check out https://resinos.io/docs/custombuild/ for more documentation on that topic. Have fun :)!\n","date":"2017-06-28T13:52:04Z","permalink":"/posts/2017-06-28-resinos-build-resinos-from-scratch/","title":"[resinOS] Build resinOS from scratch"},{"content":"Here is my presentation to Sigfox @ PiAndMore 10 (University Trier, 24.06.2017)\nSigfox_PiAndMore10.pdf (1,7 MB, PDF)\nThis presentation was not sponsored or supported by Sigfox, however, Wisol gave me Evaluation Boards to test the Sigfox network, thanks a lot!\nVideorecording of the talk can be found here\n","date":"2017-06-24T15:20:48Z","permalink":"/posts/2017-06-24-piandmore-sigfox-presentation/","title":"[PiAndMore] Sigfox Presentation"},{"content":"Here is my presentation to the Raspberry Pi Introduction @ PiAndMore 10 (University Trier, 24.06.2017)\nRPiEinführung_PiAndMore10.pdf (1,96 MB, PDF)\nVideorecording of the talk can be found here\n","date":"2017-06-24T07:50:44Z","permalink":"/posts/2017-06-24-piandmore-raspberry-pi-introduction-presentation/","title":"[PiAndMore] Raspberry Pi Introduction Presentation"},{"content":"I have been working with Docker and resin.io as well as resinOS for quite some time now and I am actively using those services actively for different projects: The possibility to just throw away a container and build it anew in record breaking time is just awesome and also the fact that I can now just ship images to some device, deploy it there - and it will just work. As some of you know, I am working as volunteer in different NPOs, i.e. the RepairCafé Trier in which I repair Computers and Mobile phones for free, the PiAndMore / CMD e.V. on which I teach interessted guys and gals about Raspberry Pi and Linux (and even did two presentations on resin.io and resinOS, both linked on this blog - and as video :)) - and also one other NPO which is trying to give information about Japanese Culture. For those events I already created an Tickting System called JCTixx, which uses QR Codes to sell and check tickets for those named festivals. However, I created the Scanner Hardware in 2010, just starting my second year in an Apprenticeship as IT Systemselectronics guy, without anything as a Raspberry Pi available. However, being a bit creative, I just took some old Linux routers, threw the good old OpenWRT on those and soldered directly to the its testpoints / CPU to get the GPIO pins I needed ;). That worked very well - however, nowadays, TLS 1.2 and such eat away those small MIPS cores - and I could - with a lot of work - just get them working with said crypto in 2015. However, being 7 years old now, I need new Scanners - and more flexible way of delivery software as well. So resinOS it is! 🙂\nFull disclosure: As I am currently developing the Hardware for the Scanners and I am always looking for some Raspberry Pis and other hardware, I stumbled upon resin.ios #blog4swag program and decided to make this tutorial because of two reasons: 1.) I actually need an dockerized GUI for the scanners and therefore am working on a good solution to the problem - and as usually - I want my dear readers to get some interesting stuff to read. 2.) Maybe I can acquire some hardware support from the resin guys which then would help me out to get my NPO helped :). So in the end, everyone wins and no one dies - to cite Doctor Who :).\nSo, lets get started!\n1.) Getting some GUI working at all\nI saw some users experimenting with Docker and Chromium along the x86 systems - however, the first resin project I stumbled upon which really made me think about putting the GUI within a container, was resin.ios ElectronJS example. This thing really rocked, but I saw that I needed to work on something a bit easier which would just deploy some sort of GUI - and being as simple as it gets.\nSo I started to look around and stumbled across different projects, namely RPiBrowser-resin.io and resin-electron-app. Those two were a great starting point and using resin.ios ElectronJS example as well, I started hacking the code together, which I finally submitted to this Git Repo: docker-raspbian_xinit.\nWith the great help of Gergely Imreh from the resinIO Team (thanks a lot :)!) I got the project working and pushed it onto Docker Hub. To walk you through the Git Repo: I made two versions, one nailed to the release of the 26.04.2017 Raspbian and one made from the latest version. I basically grabbed resin.ios Raspbian from Docker Hub, injected the qemu files (which they did show in one tutorial) and used this as a starting point. It enables Docker Hub to build the Raspberry Pi Images, so that you can use them on your Pi.\nIf you want to build the docker-raspbian_xinit image yourself, you need to remove the RUN [ \u0026quot;cross-build-start\u0026quot; ] and RUN [ \u0026quot;cross-build-stop\u0026quot; ] command from the Dockerfile :).\nThe Dockerfile itself builds a basic system with xinit / xorg, alsa and even touchscreen support (xinput-calibrator). It generated german locales and a user called pi (which is both not needed, but I included it as matter of personal preference), copys the needed files and enables systemd. Systemd will start the xinit-docker.service which invokes the start.sh which does prepare the system, i.e. adds the container name to the /etc/hostname, so that sudo will work, activates its own SSH server on port 22, includes a touchscreen calibiration file - if available, creates a very needed config folder, removes files from old X11 sections, sets volume to 100% on speakers and phones and then starts the xinit process with the launch_app.sh :).\nThe launch_app.sh then works in the xinit context and does xinit specific stuff: It disables screen blanking, sets the keyboard to the created german locales (you can comment this out as well if you want or overwrite the file ;)) - then - finally - starts the matchbox-window-manager without titlebar, but WITH keyboard and mousesupport and launches\u0026hellip;.\n\u0026hellip; gedit.\nYeah. Right. I know that is a real disappointment. But I needed a small tool which would not add too much file size and show that keyboard and mouse are working - so I just went for gedit ^^\u0026rsquo;. Sorry if you were hoping to find something really awesome and cool at this place. But nonetheless, it works, and this image as well as the Git Files should serve as a starting point for your own Xinit adventure - so, thats the reason :).\nAfter I got it finally working, I thought about my personal usecase: I will be using a lot of Python and thought about using Flask as a GUI. However, Flask is just a webframework and does not have the ability to shown something \u0026ldquo;GUI-like\u0026rdquo; - thus needing some kind of Webbrowser - and this part could be found in shape of pywebview. Pywebview just includes some website, app or similiar into a small GUI Frame with Webkit Browser in it. Cool! Exactly what I needed. However, I did not have time get to work on my own UI - and wanted to jumpstart the project by getting the Docker Container to work - so I decided to grab a cool small Flask Web GUI project and use this to showcase how easy it is to built a self-starting Docker Container GUI - on resinOS. And with that in mind, I went for the very cool helloflask Calculator by Grey Li.\n2.) Getting a Flask GUI working - using 1. 😉\nOk, as soon as I got my Xinit project working, I decided to use this a base image, just overwriting changes in the system and injecting the files needed to run the pywebview\u0026rsquo;d Calculator.\nWith that in mind, the Dockerfile became quite small (you\u0026rsquo;ll find the Source Files on Github and the Image on Docker Hub as well :))\nFROM nmaas87/docker-raspbian_xinit:jessie-20170426\rMAINTAINER Nico Maas \u0026lt;mail@nico-maas.de\u0026gt;\rENV DEBIAN_FRONTEND noninteractive\rRUN [ \u0026#34;cross-build-start\u0026#34; ]\rRUN apt-get update \\\r\u0026amp;\u0026amp; apt-get install -yq --no-install-recommends \\\rpython3-pip python3-pyqt5 python-gi gir1.2-webkit-3.0=2.4.9-1~deb8u1+rpi1 gir1.2-javascriptcoregtk-3.0=2.4.9-1~deb8u1+rpi1 libjavascriptcoregtk-3.0-0=2.4.9-1~deb8u1+rpi1 libwebkitgtk-3.0-0=2.4.9-1~deb8u1+rpi1 \\\r\u0026amp;\u0026amp; apt-get autoremove -qqy \\\r\u0026amp;\u0026amp; apt-get autoclean -y \\\r\u0026amp;\u0026amp; apt-get clean \u0026amp;\u0026amp; rm -rf /var/lib/apt/lists/* \u0026amp;\u0026amp; mkdir /var/lib/apt/lists/partial \\\r\u0026amp;\u0026amp; pip3 install Flask pywebview \\\r\u0026amp;\u0026amp; mkdir /usr/src/app/templates /usr/src/app/static\r# copy program\rCOPY src /usr/src/app\r# start init system\rENV INITSYSTEM on\rRUN [ \u0026#34;cross-build-end\u0026#34; ] I just needed to include the cross-build-start and end for Docker Hub again, installed python3-pip and pyqt5 dependencies with webkit (in a special version, otherwise it did not work\u0026hellip;) and then installed Flask and pywebview. I then proceded to inject the pywebview-erized Calculator:\ndef start_server():\rapp.run(host=\u0026#34;0.0.0.0\u0026#34;,port=\u0026#34;80\u0026#34;);\rif __name__ == \u0026#39;__main__\u0026#39;:\rt = threading.Thread(target=start_server)\rt.daemon = True\rt.start()\rwebview.create_window(\u0026#34;Calculator\u0026#34;, \u0026#34;http://127.0.0.1:80/\u0026#34;)\rwebview.toggle_fullscreen()\rsys.exit() I had to create a start_server function to let Flask run in its own thread while pywebview would show the GUI in fullscreen mode and connect to the Flask server.\nAs last step, I need to rewrite the launch_app.sh\n#!/bin/bash\r# Disable DPMS / Screen blanking\rxset -dpms\rxset s off\rxset s noblank\r# Change Keyboard Layout from US to German\rsetxkbmap de\r# Debug Tools\r#xinput --list\r#evtest\r# Start Window Manager\rsudo matchbox-window-manager -use_cursor yes -use_titlebar no \u0026amp; #sudo matchbox-window-manager -use_cursor no -use_titlebar no \u0026amp;\r# Start Payload App\r#gedit\rpython3 /app/app.py As seen, I only changed the \u0026ldquo;Start Payload App\u0026rdquo; line and now initialize Python 3 with the pywebview/Flask/Caculator app.\nAnd thats it :).\nTo use this app with resinOS, just go to resinos.io, download the latest 2.0.3 release for the RPi, flash the image to your SD Card using i.e. etcher, boot your RPi and ssh to your system IP, using user root and port 22222. From then on, you can just run the app via\ndocker run --name pywebview --privileged --restart=unless-stopped nmaas87/docker-raspbian_pywebview:jessie-20170426 or you upload the Git src to the /mnt/data folder and build your own version of this pywebview using\ndocker build -t pywebview . Please do NOT forget to comment out the RUN [ \u0026quot;cross-build-start\u0026quot; ] and RUN [ \u0026quot;cross-build-end\u0026quot; ] commands!\nAfter that worked, you can start the app via\ndocker run --name pywebview --privileged --restart=unless-stopped pywebview You can also use the app with resin.io by creating an resin.io account, a new RPi App, pushing either the latest or jessie-20170426 tag to resin - and it should built and work :). However, I am more a fan of the flexibility resinOS offers in terms of developing Docker Apps - so I decided to describe this way here.\nAnd with that said, you can now starting working on your own GUI Apps - working in resinOS / resin.io on your RPi or similar device :)! Have fun - and if you\u0026rsquo;ll excuse me, I now have 4 JCTixx Ticket Scanners to build ^^'.\n","date":"2017-05-16T14:55:50Z","permalink":"/posts/2017-05-16-resinos-dockerize-your-own-flask-gui-with-resinos/","title":"[resinOS] Dockerize your own Flask GUI with resinOS"},{"content":"My Docker 101 Workshop @ T3C Trier (Trier Tech Talk Conference) (29.04.2017, Hochschule Trier, https://t3c.uni-trier.de/).\nDocker_T3C2017.pdf (0,74 MB, PDF).\nSourcecode / Example can be found on https://github.com/nmaas87/docker-demo\n","date":"2017-04-29T10:00:21Z","permalink":"/posts/2017-04-29-talk-docker-grundlagen-workshop/","title":"[Talk] Docker Grundlagen Workshop"},{"content":"EDIT: This post is from 30.09.2013 and should be the \u0026ldquo;how to\u0026rdquo; to this post. However, I never released it for a now unknown reason. Because of the interest in this topic, I still will publish it today so that it can stand as some kind of documentation of what I did back then. However, I might not work anymore.\nThis is the latest Guide.\nWhat are we doing here?\nBuilding OpenWRT Trunk with the offical RPi 3.10 (next) Kernel.\nPackages:\nYou can use some packages of the offical OpenWRT 12.09 Attitude Adjustment repo.\nHowever, most kernel modules and stuff has to be built but yourself, as I\ngot no repo. Sorry!\nDependencies needed sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip Prepare Enviroment (Trunk) cd ~ mkdir rpi_openwrt cd rpi_openwrt git clone git://git.openwrt.org/openwrt.git cd openwrt mkdir dl Install Packages ./scripts/feeds update -a ./scripts/feeds install -a Check Enviroment make defconfig make prereq Download Kernel and Prepare: cd /tmp wget https://github.com/raspberrypi/linux/archive/rpi-3.10.y.tar.gz tar xfvz rpi-3.10.y.tar.gz mv linux-rpi-3.10.y linux-3.10.13 tar -cJvf linux-3.10.13.tar.xz linux-3.10.13/ mv linux-3.10.13.tar.xz ~/rpi_openwrt/openwrt/dl/ Prepare Target cd ~/rpi_openwrt/openwrt/target/linux/brcm2708/ Remove the RPi Kernel specific patches # we don\u0026#39;t need them because we use the ORIGINAL kernel # - and not some retailored standard kernel! mv patches-3.10 patches-3.10.bkp mkdir patches-3.10 check wheter the makefile does try to catch the right kernel version vi Makefile # change LINUX_VERSION to LINUX_VERSION:=3.10.13 Prepare Generic Patches cd ../generic/patches-3.10 # Normally it should be ok to just remove some of the patches like this. # if make target/linux/{clean,prepare} V=99 does fail in patching stage # you would need to remove another patch here # but for the time beeing, lets kill these files which are known to # wreck it: rm 063-arm-fix-fiq-vivt.patch rm 880-gateworks_system_controller.patch Make cd ~/rpi_openwrt/openwrt/ make menuconfig # Choose BCM2708 Chipset, Raspberry Pi Board, Exit and Save make target/linux/{clean,prepare} V=99 # does extract kernel and patch it make kernel_oldconfig # builds some tools make kernel_menuconfig # configures kernel make menuconfig # to change RPi Patterns, i.e.: Packages rep: # Image configuration -\u0026gt; Version configuration options -\u0026gt; Release Repo to: # http://downloads.openwrt.org/attitude_adjustment/12.09/%T/generic/packages # Main Partition Size from 48 to 64: # Target Options -\u0026gt; Root File System Size, change from 48 to 64 MB or more # Exit and Save make V=99 -j 3 Files are in ~/rpi_openwrt/openwrt/bin/brcm2708\n( i.e. openwrt-brcm2708-sdcard-vfat-ext4.img )\nNew build: make kernel_menuconfig make menuconfig make V=99 -j 3 ","date":"2017-04-27T12:00:25Z","permalink":"/posts/2017-04-27-rasppi-how-to-compile-openwrt-trunk-with-latest-raspberry-pi-kernel-3-10-for-the-rpi-on-ubuntu-12-04/","title":"[RaspPi] How To Compile OpenWRT Trunk with latest Raspberry Pi Kernel 3.10 for the RPi on Ubuntu 12.04"},{"content":"I got following error on an really badly \u0026ldquo;injured\u0026rdquo; Ubuntu machine:\nFailed to start reboot.target: Failed to activate service \u0026#39;org.freedesktop.systemd1\u0026#39;: timed out\rSee system logs and \u0026#39;systemctl status reboot.target\u0026#39; for details.\rFailed to talk to init daemon. Rebooting was not possible anymore, due to the beauty of 2933 zombie processes - slowing down the machine to a crawl.\nHowever, this neat issue provided the answer to STILL get it to reboot:\n# Reboot\rsudo systemctl --force --force reboot\r# Shutdown\rsudo systemctl --force --force poweroff \u0026ldquo;Cool\u0026rdquo;, as Gregory House would say 😉\n","date":"2017-04-27T08:15:53Z","permalink":"/posts/2017-04-27-reboot-ubuntu-if-init-daemon-fails-systemd-died/","title":"Reboot Ubuntu if init daemon fails / systemd died"},{"content":"1.) Setup on Linux (Ubuntu)\nsudo apt-get update sudo apt-get install -y android-tools-adb android-tools-fastboot 1b.) Setup on Windows\nI recommend the Minimal ADB and fastboot Package by shimp208, which you can get from: https://forum.xda-developers.com/showthread.php?t=2317790.\nAfter you\u0026rsquo;ve installed it, you should add the folder of the installation to your PATH Variable: Press WIN+X Key, choose System, Advanced Systemsettings, Advanced, Path Variables - or just press WIN+R and enter \u0026quot;C:\\Windows\\system32\\rundll32.exe\u0026quot; sysdm.cpl,EditEnvironmentVariables.\nYou will need to click on the entry Path in the User Variables, edit and then create a new entry by clicking on new.\nThere, you\u0026rsquo;ll need to enter the path to Minimal ADB and Fastboot, i.e. C:\\Program Files (x86)\\Minimal ADB and Fastboot, click ok and close everything. Now you can use adb and fastboot from CMD in every folder.\n2.) Using it!\nADB can be used to do almost anything with Android Devices - as long as Android Debugging is activated. Developer Mode is activated via Settings -\u0026gt; Status and clicking 7 times on \u0026ldquo;Build number\u0026rdquo;. After that, the Developer Options are available in the Settingsmenu. In this menu, you need to activate Android Debugging and connect your Phone via USB to your PC. You can start i.e. the Android Shell by accessing your Terminal and starting adb shell\nIn the Android Shell, you can navigate the file system of your phone or change different settings, i.e. you can change the brightness of your screen via:\nsettings put system screen_brightness 200 There are a lot of settings you can change, some are listed here:\nSettings System: https://developer.android.com/reference/android/provider/Settings.System.html Settings Global: https://developer.android.com/reference/android/provider/Settings.Global.html Settings Secure: https://developer.android.com/reference/android/provider/Settings.Secure.html You can also get a list of your current settings with settings list [namespace], i.e.\nsettings list system You can also reboot your phone if it is rooted, move files, edit them, delete them - everything you can do on a normal linux system.\nAnother useful adb commands are pull and push. With adb pull \u0026lt;remote\u0026gt; \u0026lt;local\u0026gt; you can pull a file from your phone to your pc. And with adb push \u0026lt;local\u0026gt; \u0026lt;remote\u0026gt; you can upload a file to your phone.\nAlso, you can adb install \u0026lt;local apk file\u0026gt; install apk files / apps or adb uninstall uninstall them.\nImportant for debugging is the access to the logcat daemon via adb logcat so you can see what happens on your phone. You can even filter for different apps, i.e. chromium: adb logcat -s chromium\nThere is a bunch of other goodies like forwarding socket connections or reverse sockets and backup / restore of apps - which you can find out by looking at the useful adb help output.\nFastboot is the last command I want to describe here. You can use adb to reboot your phone to bootloader (adb reboot bootloader) or recovery (adb reboot recovery). If your phone is rooted and you get it into the bootloader, you can access it via fastboot. This tool is vital to flashing new kernels, images, recoverys and other stuff if everything else fails. Knowing that it exists should be enough for the \u0026ldquo;normal status of operation\u0026rdquo; - but if something breaks - use it ;)!\n","date":"2017-04-21T08:00:23Z","permalink":"/posts/2017-04-21-windowsubuntu-adb-and-fastboot-useful-stuff-for-your-android/","title":"[Windows/Ubuntu] ADB and Fastboot - useful stuff for your Android"},{"content":"The SSH config is a powerful tool to get \u0026ldquo;more\u0026rdquo; out of your normal SSH connection.\nJust create an file called \u0026ldquo;config\u0026rdquo; in your .ssh folder and it will be used on a new SSH session.\nLets start with a simple example of how a connection configuration could look like:\nHost myHost\rHostname 1.2.3.4 IdentityFile ~/.ssh/myHostKey\rUser myUser With this code, an \u0026ldquo;ssh myHost\u0026rdquo; will try to connect to the host 1.2.3.4 - using the user myUser and the keyfile myHostKey. And with this - you can use multiple keys and users on the same host without too much trouble 🙂\nAnother example with different ssh port:\nHost myHost2\rHostname myhost.com\rPort 3001\rUser anotheruser\rIdentityFile ~/.ssh/anotherKey You can also just give your ssh connection another keyfile:\nHost github.com\rIdentityFile ~/.ssh/github Forward a local port from your remote pc to yours:\nHost myHost_tunnel\rHostname myhost.com\rIdentityFile ~/.ssh/myHostKey\rUser myUser\rLocalForward 443 127.0.0.1:443 Or even use your remote host as HTTP proxy (binding on your local port 8888):\nHost myHost_proxy\rHostname myhost.com\rIdentityFile ~/.ssh/myHostKey\rUser myUser\rDynamicForward 127.0.0.1:8888 And the ssh config is even able to do a lot more but \u0026hellip; you\u0026rsquo;ll find that in the manpage of ssh 🙂\n","date":"2017-04-18T12:00:06Z","permalink":"/posts/2017-04-18-ssh-config-for-beginners/","title":"SSH config for beginners"},{"content":"This Blog Post consists in huge parts of Daniel Hüskens awesome work, but I still had to rewrite it a bit as I tended to add some stuff on :).\n1.) Download latest Git for Windows: https://git-for-windows.github.io/\n2.) Install (Entires with * can be changed to your own liking, ** can be changed, but this setting is recommended)\n\u0026ldquo;Without Windows Explorer Integration\u0026rdquo; * \u0026ldquo;Run Git and included Unix tools from Windows Command Prompt\u0026rdquo; \u0026ldquo;Use OpenSSH\u0026rdquo; \u0026ldquo;Checkout Windows-style, commit Unix-style endings\u0026rdquo; ** \u0026ldquo;Use Windows default console window\u0026rdquo; ** 3.) Configure\nset set HOME=%HOMEDRIVE%%HOMEPATH% in your Windows User Path Variables: Press WIN+X Key, choose System, Advanced Systemsettings, Advanced, Path Variables - or just press WIN+R and enter \u0026quot;C:\\Windows\\system32\\rundll32.exe\u0026quot; sysdm.cpl,EditEnvironmentVariables- you will need to click on New, then create a new Variable HOME with the Value %HOMEDRIVE%%HOMEPATH%, click ok and close everything. create the Folder .ssh in your User Folder (C:\\Users\\YourName) if you want to store your ssh Config and Credentials somewhere else, you need to use a symlink. Start your CMD in Administrator Mode (Press Windows Key, type cmd, rightclick on the found program, start as Administrator) and create the link with mklink /D \u0026quot;C:\\Users\\YourName\\.ssh\u0026quot; \u0026quot;D:\\mySecretFolder\\.ssh\u0026quot; The path D:\\mySecretFolder.ssh does have to exist before this action, .ssh in the YourName folder not :). 4.) Create a key and test access to Github\nGo to your .ssh folder and open a CMD there ssh-keygen -t rsa -C \u0026quot;a good comment on what this key is for\u0026quot; -b 4096 Your key has been created, it should be named id_rsa and id_rsa.pub. The content of id_rsa.pub can be added as new ssh key to your Github profile on: https://github.com/settings/keys After that you can test your setup with ssh -T git@github.com If anything goes wrong, add verbosity to your SSH command, i.e. with -vvv (more v\u0026rsquo;s equals more debug messages) 5.) Word of advice:\nSSH can be a bit tricky, as it tends to only look for id_rsa named keys in your .ssh folder. So if you have multiple keys with different names chances are high that this won\u0026rsquo;t work. However, you can get around that with entries in the user defined ssh config file (called \u0026ldquo;config\u0026rdquo; and placed in the .ssh folder of the user) to tell ssh which key to use with which ssh connection. I will add a post on that topic later and link it here.\nEDIT: Here is the link\n","date":"2017-04-12T08:00:45Z","permalink":"/posts/2017-04-12-ssh-and-git-on-windows-with-publicprivate-key-authentication/","title":"SSH and Git on Windows (with Public\\Private Key Authentication)"},{"content":"Infineon created the ARM Cortex M Series \u0026ldquo;XMC\u0026rdquo; in 2012 to give their users access to a rich portfolio of different AMR Cortex M0+ and M4 MCUs. These Microcontrollers, being supported by powerful peripherals had support for two different IDEs: Keils MDK and Infineons DAVE. While Keil is the definitive choice for most professionals (and expensive\u0026hellip;), DAVE was an self-developed plug-and-play kind of programming tool, using Eclipse as framework. However, both tools were directed towards professional endusers and developers, while hobbyists and makers with less experience in ARM Cortex programming would have a sturdy learning curve. Seeing that, and the first tests of the fanproject XMC-to-Arduino - Infineon decided to create an own boards package for the Arduino IDE. And thats what finally arrived some days ago :)!\nHere is the link with all information: https://www.infineon.com/cms/en/tools/landing/infineon-for-makers/#microcontroller-boards\nAnd the Github Link: https://github.com/Infineon/XMC-for-Arduino\nAnd now we start with installing this package and Arduino 🙂\n0.) Download the Arduino IDE: https://www.arduino.cc/en/Main/Software\n1.) After downloading, unpack or install the Software and start it.\n2.) Go to File -\u0026gt; Preferences and click on the Button right at the End of \u0026ldquo;Additional Boards Manager URLs\u0026rdquo; to open the dialog.\n3.) Enter the URL of the XMC Repository ( https://github.com/Infineon/Assets/releases/download/current/package_infineon_index.json ) into the dialog and save it by clicking on OK - also closing the Preferences Menu via OK.\n4.) Goto Tools -\u0026gt; Board -\u0026gt; Boards Manager and search for XMC. Then install the XMC package:\n5.) After installation, close the dialog and close Arduino.\n6.) Download and install the Segger J-Link Software from this link: https://www.segger.com/downloads/jlink\n7.) Start Arduino again, go to Tools -\u0026gt; Boards and chose your board, mine is the XMC2Go:\n8.) Also chose the right port under Tools -\u0026gt; Port\n9.) I started with a blink example which I choose from File -\u0026gt; Examples -\u0026gt; 01. Basics -\u0026gt; Blink\n10.) Click on the Upload arrow just over the name of the Sketch \u0026ldquo;Blink\u0026rdquo;.\n11.) If you got an older XMC2Go module, Arduino / Segger J-Link will ask wheter it should update the Firmware on the XMC2Go. Confirm that.\n12.) Arduino should successfully end the upload proccess and you\u0026rsquo; ll have your XMC2Go blinking 🙂\n13.) Already done - that was easy, wasn\u0026rsquo;t it :)?\nAs an additional feature I decided to throw in a short graphic of the different ports of the XMC2Go and the mapping between Arduino IDE and MCU:\n","date":"2017-03-07T16:45:09Z","permalink":"/posts/2017-03-07-getting-started-with-infineon-xmc-for-arduino/","title":"Getting started with Infineon XMC for Arduino"},{"content":"While I am now hosting this blog for nearly 9 years - without any incident - problems tend to happen sooner or later. A lot of hassle and problems has been reduced due to the WordPress Auto Update system - so to update WordPress itself, as well as its plugins - and it works great. However, WordPress introduced - and enabled by default - a REST API - which has a great deal of security problems. And without me always checking each installed version - well, I did not know that\u0026hellip; The REST API problems should be fixed by now, but - that came a bit too late for my blog. Nonetheless, I would recommend going to Jetpack -\u0026gt; Settings and disabling JSON API - especially if you\u0026rsquo;re not using it\u0026hellip; I learned it the hard way ^^\u0026rsquo;..\nPS: If you disable it, WordPress.com won\u0026rsquo;t be able to talk to your website anymore so\u0026hellip; You\u0026rsquo;re gonna have a bad time, if you need that :/. You\u0026rsquo;ll need to decide for yourself\u0026hellip;\nRegards\n","date":"2017-02-28T15:43:32Z","permalink":"/posts/2017-02-28-blog-defacement/","title":"Blog Defacement"},{"content":"Finally, Keybase.io got a new Client and it is looking gorgeous: https://keybase.io/.\nThey added a graphical client to the CLI and included a Chat, as well as the File transfer and Search options. So now, Keybase.io got more easy to use than ever before - and the best thing: A mobile client is soon(tm ;)) to be released.\nActually I missed the release of the client and would not have stumbled upon it, if it weren\u0026rsquo;t for johanbove how send me an encrypted message via the client - and Keybase let me know via email that I got something encrypted waiting for me ;).\nSeems like Johan read my last post about Keybase.io and decided to drop me a encrypted message - and as you see, thats the real power of Keybase: You just got to know someones Github/Twitter/Website/WhatEver Account Name - and you can drop her/him an encrypted message, file or chat. And that is infact the point where Keybase.io shines above the regular PGP solutions - it is PGP for the social web :).\nSo - cheers Johan, thanks for the message - and lot of fun for the rest of you, maybe we connect on Keybase.io - I won\u0026rsquo;t give you my page now - I trust you\u0026rsquo;ll find me very easily ;)!\n","date":"2017-02-17T18:00:30Z","permalink":"/posts/2017-02-17-keybase-io-got-a-new-client-and-it-is-awesome/","title":"Keybase.io got a new Client - and it is awesome!"},{"content":"Due to a Stackoverflow Post I got to know the fact the BCM2708 / BCM2835 contains a Hardware Random Number Generator (RNG). Two blogposts described how to setup this little module, however, they were outdated, as the needed kernel module is directly baked into the latest 4.x kernel, which ends with the fact that /dev/hwrng already exists :).\nThe only thing left to do is the installation of the rng-tools, which is easy as pie:\nsudo apt-get update\rsudo apt-get install -y rng-tools After that, we also need to point rng-tools to the right source, by adding\nHRNGDEVICE=/dev/hwrng to /etc/default/rng-tools (need root rights for that :))\nAfter that, the service can be restarted and used:\nsudo service rng-tools restart PS: This RNG seems to be available on all other RPis as well, not only RPi 1 🙂\nOther articles:\nhttp://scruss.com/blog/2013/06/07/well-that-was-unexpected-the-raspberry-pis-hardware-random-number-generator/ http://fios.sector16.net/hardware-rng-on-raspberry-pi ","date":"2017-02-15T15:00:45Z","permalink":"/posts/2017-02-15-raspberry-pi-and-its-hardware-random-number-generator-rng/","title":"Raspberry Pi and its Hardware Random Number Generator (RNG)"},{"content":"If you\u0026rsquo;re tired of the ClearType Fonts in Windows and long for a more Unix/Mac Style Font Rasterizer, you most probably have heard GDI++ and GDIPP. And as both projects are somehow dead (for 6+ years), someone started a new one, called MacType.\nHow to install the latest version?\nDownload and Install MacType (chose English!): http://www.mactype.net/ Download the latest patch: http://silight.hatenablog.jp/entry/MacTypePatch currently the latest version is MacTypePatch_1.19.zip (2016/11/17). Unpack the patch and copy EasyHK32.dll, EasyHK64.dll and UserParams.ini (from win8.1_or_later folder) to the C:\\Program Files\\MacType folder Copy EasyHK32.dll, EasyHK64.dll to C:\\Windows\\System32 Start MacType as Tray Version and chose an default settings, i.e. FT Opt Here you can see an example - left without, right with MacType:\n","date":"2017-02-13T13:00:24Z","permalink":"/posts/2017-02-13-mactype-a-better-font-rasterizer-for-windows/","title":"MacType - A better font rasterizer for Windows"},{"content":"Sadly, my Nexus 4 (mako) had a rough experience after upgrading to Lineage OS: After a reboot, I ended up with this screen:\nAs you can see, only the back button and status bar are visible anymore, I can drag down the status bar and enable / disable stuff but cannot launch the settings or anything else - brick\u0026rsquo;d :(. I had to reinstall that thing several times, but then came to the conclusion what caused the error: I had enabled a screenlock (does not matter which kind :)) and played with the System Profile under Settings. I created a second System Profile which - as soon as it connected to my Home Wifi, removed the screenlock. And that was the problem. After two additional reboots, the error as seen manifested.\nGood news: It only took me three complete reinstalls (read: wipe\u0026hellip; ^^\u0026rsquo;) to get that - and the fix is very simple: Don\u0026rsquo;t create such an System profile. If you have and you end up there, that is no problem as well: If you have adb Debug enabled, you\u0026rsquo;ll have it fixed in one minute and one reboot:\n# open your CMD / Bash\radb shell\r# activate root\rsu\r# go to the correct folder\rcd /data/system/\r# get your current profile config\rcat profiles.xml\r# now grab that config file, remove the \u0026lt;profile\u0026gt; \u0026lt;/profile\u0026gt;\r# part which causes the error -\u0026gt; your newly created profile\r# with \u0026#34;auto turnoff screenlock\u0026#34;\r# after that, put it back on your phone\recho \u0026#39;HERESHOULDBETHENEWCONFIG\u0026#39; \u0026gt; profiles.xml\r# then reboot your phone\rreboot If you have no root access available you could get root on your device via the addon from Lineage OS, and if you don\u0026rsquo;t want that (which is good too!) or you got no ADB Debug enabled - fix it from within TWRP :).\nPS: If you want to report something, always pass along your logcat (extract with adb logcat -d '*:V' \u0026gt; logcat.txt if you got adb access)\n","date":"2017-02-07T09:00:37Z","permalink":"/posts/2017-02-07-lineage-os-fix-after-reboot-phone-not-usable-anymore-only-back-buttonstatusbar-visible/","title":"Lineage OS Fix: After reboot phone not usable anymore (Only back button/statusbar visible)"},{"content":"Due to the fact that Gravatar makes users very easily trackable (read r1ch.nets Post \u0026ldquo;Gravatar considered harmful\u0026rdquo;) I decided to remove the use of Gravatar from my blog. I did this be removing the feature in the Discussion Settings, as well as using the \u0026ldquo;Disable User Gravatar\u0026rdquo; plugin to prevent WordPress to leak your E-Mail address through your Gravatar on my blog.\n","date":"2017-02-06T13:27:24Z","permalink":"/posts/2017-02-06-gravatar-considered-harmful-disabling-it-on-my-blog/","title":"Gravatar considered harmful - disabling it on my blog"},{"content":"Pihole is an awesome little DNS Server with Blacklists for Ad Sites and the ideal tool to install a small and powerful ad filter for the whole network (Intro Video here).\nAs diginc designed an Docker Image around the Pihole server (which was normally run on a RPi :)) - and made it x86, you can also run it on your normal Homeserver :)!\nImportant things just before we start: The Docker container needs to bind to ports 53 (DNS) and 80 (HTTP) - so, if you need to run your own DNS - that could interfere. If you need port 80 for some other website - you\u0026rsquo;ll have to make an reverse proxy.\nTo make the setup easier, I wrote an little docker-compose.yml:\npihole:\rrestart: unless-stopped\rcontainer_name: pihole\rimage: diginc/pi-hole:alpine\rvolumes:\r- /var/pihole:/etc/pihole\renvironment:\r- ServerIP=YOURLANIPHERE\rcap_add:\r- NET_ADMIN\rports:\r- \u0026#34;53:53/tcp\u0026#34;\r- \u0026#34;53:53/udp\u0026#34;\r- \u0026#34;80:80\u0026#34; You\u0026rsquo;ll need to change the YOURLANIPHERE to the IP Address of your Servers LAN Interface - and you\u0026rsquo;ll need to create the folder /var/pihole and make it writable for your Docker User.\nsudo mkdir /var/pihole\rsudo chown -R MYLINUXUSER:MYLINUXUSER /var/pihole After that, we can start the service via docker-compose up -d\nYou\u0026rsquo;ll have access to the Web interface of pihole on YOURLANIPHERE/admin\nHowever, this interface is NOT protected - so we\u0026rsquo;ll do this now:\ndocker exec -it pihole /bin/bash\r# create an password protection for your pihole web interface\rpihole -a -p somepasswordhere\r# You can also remove the password by not passing an argument.\rpihole -a -p Also, pihole does create a lot of log files, which should be removed from time to time, the block lists should be updated and pihole itself should be updated. This can also be achieved via an cron file, available here.\n# Your container name goes here:\rDOCKER_NAME=pihole\rPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin\r# Pi-hole: Update the ad sources once a week on Sunday at 01:59\r# Download any updates from the adlists\r59 1 * * 7 root PATH=\u0026#34;$PATH:/usr/local/bin/\u0026#34; docker exec $DOCKER_NAME pihole updateGravity \u0026amp;gt; /dev/null\r# Update docker-pi-hole by pulling the latest docker image ane re-creating your container.\r# pihole software update commands are unsupported in docker!\r30 2 * * 7 root PATH=\u0026#34;$PATH:/usr/local/bin/\u0026#34; docker exec $DOCKER_NAME pihole updatePihole \u0026amp;gt; /dev/null\r# Pi-hole: Flush the log daily at 00:00 so it doesn\u0026#39;t get out of control\r# Stats will be viewable in the Web interface thanks to the cron job above\r00 00 * * * root PATH=\u0026#34;$PATH:/usr/local/bin/\u0026#34; docker exec $DOCKER_NAME pihole flush \u0026amp;gt; /dev/null I actually did just open my cron with crontab -e and entered the last lines into there - so that should work. You can now test your new Adblocker by entering the IP of your Server as DNS on your Clients - and if you\u0026rsquo;re happy with it, just replace the DNS server entry on your DHCP server with that IP - to rollout pihole to your complete network :).\nMore Info:\nhttps://github.com/diginc/docker-pi-hole https://discourse.pi-hole.net/t/how-do-i-set-or-reset-the-web-interface-password/1328 https://www.reddit.com/r/pihole/comments/5rudb3/running_pihole_in_a_docker_container/ ","date":"2017-02-06T09:00:17Z","permalink":"/posts/2017-02-06-how-to-run-pi-hole-in-a-docker-container/","title":"How to run pi-hole in a Docker container"},{"content":"Keybase.io is awesome!\nBut the problem was, you could not really use it for email, nor sign your Github commits, as keybase only entered a non existing email into the public key (yourname@keybase.io). But - you can change that :). You\u0026rsquo;ll need to have GNU PGP / GPG installed.\nDownload Private and Public Key from Keybase.io (edit Button next to Key on Profile, Export my Private Key, Key Checksum for Export of Public Key)\ngpg --allow-secret-key-import --import keybase-private.key\rgpg --import keybase-public.key\rgpg --edit-key myname@keybase.io then in the gnupg shell:\ngpg\u0026gt; adduid\rReal name: Full Name\rEmail address: myname@mymail.com\rComment: \u0026lt;canbeleftempty,just enter\u0026gt; You\u0026rsquo;ll need to enter your Key to allow the changes.\nStay in gpg shell and do following to trust yourself (maybe not necessary):\nuid myname@mymail.com\rtrust\r5\ry\rsave Export your newly generated public key:\ngpg --armor --export myname@mymail.com Upload to Github for Sign (New GPG key): https://github.com/settings/keys\nUpload Public Key to Keybase: https://keybase.io/myname (edit, Update my key)\nYou can sign now on Github with:\ngit commit -S -m \u0026#34;signed commit\u0026#34; Infos taken from:\nhttp://superuser.com/questions/293184/one-gnupg-pgp-key-pair-two-emails https://blog.ochronus.com/signing-your-github-commits-with-your-keybase-io-account-7bf3efe04a10#.eqcmjf4cl http://stackoverflow.com/questions/22136029/how-to-display-gpg-key-details-without-importing-it ","date":"2017-02-03T09:00:25Z","permalink":"/posts/2017-02-03-keybase-io-add-another-e-mail-to-your-keybase-io-public-key/","title":"[Keybase.io] Add another E-Mail to your Keybase.io Public Key"},{"content":"As I tend to work with some Cisco 4506 and similiar switches - equipped with WSX45SUP6LE / WS-X45-SUP6L-E Supervisor Engines, I had the unfortunate delight to seem those rebooting at random.\nCisco did put out an entry in their bug tool (\u0026ldquo;Sup6LE reloads silently (Reset State: 00000201) / watchdog CISR0: 0x80\u0026rdquo;) with the Bug Tracker ID CSCtf85481 - however, of the multiple accounts I had, I only found it on one of those. Other accounts did refuse my access to this file. As we confronted our Cisco Tech Support prior to finding the bug ourself, there was \u0026ldquo;no known error\u0026rdquo; which represented itself in rebooting the switch at random - so they said.\nHow do you find out it your board is one of those faulty ones?\na) If the serial number is JAE1422xxxx or higher (e.g., JAE1445xxxx, JAE1729xxx, etc) they board should not be affected. If it is in the range provided - check b)\nb) If the \u0026ldquo;Hardware Revision\u0026rdquo; is 1.3 or higher, it is not affected. sh idprom supervisor\nc) If either a) or b) are not true. Then the board may be affected by this bug. Contact TAC.\nAnother sign of the error is the Last reload reason: Unknown reason output of show version\nIt seems like the first batch of Supervisor 6L-E Engines were faulty on a HW level, so only a replacement will help. The engines will start rebooting once a while after a certain amount of time - with the time between each rebooting getting shorter.\n","date":"2017-01-27T09:00:05Z","permalink":"/posts/2017-01-27-cisco-45xx-supervisor-6le-defect/","title":"Cisco 45xx Supervisor 6LE Defect"},{"content":"EDIT: Experimental Builds were deleted now, as initial stated by LineageOS Team in this post. CrossUpgrade is not possible anymore, best bet would be to wipe the device and start from scratch. So just skip the second step with EXP Image and WIPE EVERYTHING in TWRP and install the latest nightly. Please also stay alert on bugs which are included in LineageOS. This link will give you access to the unresolved section of the Nexus 4 / Mako device, while this link will give you access to the same for the Nexus 7 2013 Wifi / flo :). Also, you can find the latest changes for mako here and for flo here.\nAs CyanogenMod ended their services - and Lineage OS took over, we need to cross-upgrade to the new system.\n0.) Basic idea:\nTo upgrade to Lineage OS, they setup an so called experimental image. This exp image exists soley for the reason of migrating old CM installations to LOS installations. An really ugly-nag-screen will remind you of that. So the upgrade path will be: CM -\u0026gt; LOS Exp -\u0026gt; LOS Nightly. Also, you need to upgrade to the correct version. I.e. LOS does supply Nexus 7 LOS 14.1 images, so you need to upgrade your Nexus 7 first to CM 14.1, then install the LOS Exp 14.1, then the LOS Nightly 14.1\n1.) Nexus 4 (mako)\nInstall latest TWRP Version: https://twrp.me/devices/lgnexus4.html Make sure your device is on CM 14.1, if not, upgrade via: https://download.cyanogenmod.org/?device=mako Download LOS 14.1 Exp and install via TWRP (clean caches!) and reboot: https://download.lineageos.org/mako Download LOS 14.1 Nightly and install via TWRP (clean caches!): https://download.lineageos.org/mako 2.) Nexus 7 2013 Wifi (flo)\nInstall latest TWRP Version: https://twrp.me/devices/asusnexus72013wifi.html Make sure your device is on CM 14.1, if not, upgrade via: https://download.cyanogenmod.org/?device=flo Download LOS 14.1 Exp and install via TWRP (clean caches!) and reboot: https://download.lineageos.org/flo Download LOS 14.1 Nightly and install via TWRP (clean caches!): https://download.lineageos.org/flo And thats it! 🙂\nMore Infos needed? Just check out this older blog entry - you can use 2) and 3) but please do not delete anything except caches on 3) - and you do not need to flash GAPPS - as we want to upgrade, not reinstall from scratch 🙂\n","date":"2017-01-26T09:36:34Z","permalink":"/posts/2017-01-26-nexus-4-nexus-7-crossupgrade-from-cyanogenmod-to-lineage-os/","title":"Nexus 4 / Nexus 7 CrossUpgrade from Cyanogenmod to Lineage OS"},{"content":"I wrote this back in January 2017. Since then I had not much time to work on the Odroid - however, user hexdump did just came up with a new repo, supporting the Odroid U3 with Kernel 5.4.x - you can find the overview over his awesome work here and the repo with complete releases (i.e. Ubuntu Bionic or Debian Buster i.e. odroid_u3-armv7l-debian.img.gz) here\nI am using an trusty old Odroid U3 which I acquired years ago. With its SAMSUNG Exynos 4412 Cortex-A9 Quad Core 1,7 Ghz, 1MB L2 cache and 2 GB of RAM, this little puppy was an real beast - compared to the Raspberry Pi 1 at that time. However, Hardkernel did drop the support - again, which left the Users back with very old Kernel versions. However, thanks to some users and the fact that all needed support for the Exynos is now included in the current kernel - well, we can build our own. This write up is the distilled result of days of work and a lot of research - and the work of other people which I found on the net (which I will try to give proper credits at the right locations :)).\nEDIT: I upgraded the Kernel Configuration GIST for my Kernel Config + Docker on 10.02.2017. Thanks to an E-Mail from Tobias Jakobi I found the pieces I missed about adding the Kernel Internal Fanservice into the Config. This works now, however - I still like my tweaked program a bit better, as it cools the system more aggressivly, while the kernel default one is a lot more silent, but runs in the 80\u0026rsquo;s°C while mine will stay at 70° on max load.\nIt is important that these instructions, especially if it comes down to installing stuff - is written for the usage of eMMC memory, NOT THE SDCARD! Also, there be dragons and something could go wrong - so please, as usual, advance at your own pace and risk! 🙂\n0.) Get an Serial Interface for 1.8V\nImportant. The UART is 1.8V LVTTL ONLY! If you connect 3.3V or 5V, you\u0026rsquo;ll blow the U3! I used an regular 5V TTL USB Adapter as well as an Sparkfun BiDir Level Converter: https://www.sparkfun.com/products/12009. With that set to 1.8V from the UART of the U3, it worked flawlessly with the usual 115000 BAUD.\nPinout: http://odroid.com/dokuwiki/doku.php?id=en:u3_hardware\n_____UART____\r|Pin 4 - GND|\r|Pin 3 - RXD|\r|Pin 2 - TXD|\r|Pin 1 - VCC|\r___________|\r1.8V LVTTL 1.) Build U-Boot\nA lot of stuff is taken from here, thanks a lot for your great work, SnakeBite!\nWe asume you\u0026rsquo;re working as root, as all this stuff will need root rights :).\n# update your packages\rapt-get update\r# needed for building u-boot\rapt-get install device-tree-compiler\r# get ODROID signed u-boot\rwget http://odroid.in/guides/ubuntu-lfs/boot.tar.gz\rtar xzf boot.tar.gz\r# get patched u-boot \u0026amp; build for the U3\rgit clone https://github.com/tobiasjakobi/u-boot\rcd u-boot\rmake odroid_config\rmake\r#copy fresh u-boot to ODROID directory\rcp u-boot-dtb.bin ../boot/u-boot.bin\rcd ../boot\r## install on SDCard - not what we want, just as an remark for me\r#bash sd_fusing.sh /dev/mmcblk0 Copy the needed files (u-boot.bin, E4412_S.bl1.HardKernel.bin, bl2.signed.bin, E4412_S.tzsw.signed.bin) to your PC, reboot your Odroid U3 into fastboot via connecting the UART to the U3 and aborting the boot. After that, you can issue the fastboot command on the UART. The U3 will now wait for filetransfer over the Micro USB Port, which you\u0026rsquo;ll need to connect to your PC. Also, for the sake of an easy upgrade, use an Linux PC (more infos here: http://odroid.com/dokuwiki/doku.php?id=en:u3_building_u-boot).\n# install needed programs\rsudo apt-get update\rsudo apt-get install android-tools-adb android-tools-fastboot\r# and - being in the right folder, start the transfer\r# u-boot.bin install\rsudo fastboot flash bootloader u-boot.bin\r# bl1.bin install\rsudo fastboot flash fwbl1 bl1.HardKernel\r# bl2.bin install\rsudo fastboot flash bl2 bl2.HardKernel\r# tzsw.bin install\rsudo fastboot flash tzsw tzsw.HardKernel\r# If installation is done, you can reboot your ODROID-U3 with fastboot.\rsudo fastboot reboot You should now have a more recent U-Boot install.\nOld: U-Boot 2010.12-svn (May 12 2014 - 15:05:46) for Exynox4412\rNew: U-Boot 2016.11-rc3-g8a65327 (Jan 07 2017 - 23:00:56 +0100) By the way, we needed to download this boot.tar.gz, because it contains the keys needed to sign our new U-Boot install. More Infos about U-Boot and Keys: https://github.com/dsd/u-boot/blob/master/doc/README.odroid\nThe Installation of a more recent U-Boot version was necessary to facilitate the boot of the to-be-build new Kernel zImage with bootz.\n1b.) eMMC recovery in case something goes wrong:\nhttp://forum.odroid.com/viewtopic.php?f=53\u0026t=969 DL the tool [ exynos4412_emmc_recovery_from_sd_20140629.zip ]\nPrepare a microSD card and flash the attached image. Insert microSD into U2/U3, disconnect eMMC Turn on U2/U3 and wait for a few seconds and blue LED will blink. Plug your eMMC module into U2/U3\n4b - wait 10 seconds! Plug micro-USB cable into U2/U3 and connect other side to your PC USB host or ODROID\u0026rsquo;s USB host port. (This is a trigger to start the recovery) After recovery process (only a few seconds), the blue LED will turn off automatically. Finish. Install OS on your eMMC with as usual. 2.) Building Next Kernel for Odroid U3 with eMMC\nAnd now to start the real work:\napt-get update\rapt-get install live-boot u-boot-tools\rcd ~\rgit clone --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git linux_odroid\rcd linux_odroid\r# we could make an default config, but this is not needed, we take rglinuxtech config in the next step\r# make exynos_defconfig\r# Odroid Config Kernel 4.4 from http://rglinuxtech.com/?p=1656\rcurl -o .config http://pastebin.com/raw/NveRajaZ\r# Or you can use my Config which enables Docker as well (Gist at the End of the page)\rcurl -o .config https://gist.githubusercontent.com/nmaas87/81818c1db9dc292a4c21125bd2602658/raw/7e4e14fa15d7c68b177f31b9e2348d62c52cf83c/u3_docker_config\rmake menuconfig\rmake prepare modules_prepare\rmake -j4 bzImage modules dtbs\rmake modules_install\rcp arch/arm/boot/dts/exynos4412-odroidu3.dtb /media/boot/exynos4412-odroidu3_next.dtb\rcp arch/arm/boot/zImage /media/boot/zImage_next\rcp .config /boot/config-`cat include/config/kernel.release`\rupdate-initramfs -c -k `cat include/config/kernel.release`\rmkimage -A arm -O linux -T ramdisk -C none -a 0 -e 0 -n uInitrd -d /boot/initrd.img-`cat include/config/kernel.release` /boot/uInitrd-`cat include/config/kernel.release`\rcp /boot/uInitrd-`cat include/config/kernel.release` /media/boot/\rcd /media/boot/\rvi boot.txt\r# now we have to rework the boot.txt / config\r# comment out the old values and set in the new ones\r# please do NOT copy blindly, you need to adjust the zImage, uInitrd and eyxnos4412***.dtb file names according to your system!\rsetenv initrd_high \u0026#34;0xffffffff\u0026#34;\rsetenv fdt_high \u0026#34;0xffffffff\u0026#34;\r#setenv bootcmd \u0026#34;fatload mmc 0:1 0x40008000 zImage; fatload mmc 0:1 0x42000000 uInitrd; bootm 0x40008000 0x42000000\u0026#34;\rsetenv bootcmd \u0026#34;fatload mmc 0:1 0x40008000 zImage_next; fatload mmc 0:1 0x42000000 uInitrd-4.10.0-rc2-next-20170106-v7; fatload mmc 0:1 0x44000000 exynos4412-odroidu3_next.dtb; bootz 0x40008000 0x42000000 0x44000000\u0026#34;\r#setenv bootargs \u0026#34;console=tty1 console=ttySAC1,115200n8 root=/dev/mmcblk0p2 rootwait ro mem=2047M\u0026#34;\rsetenv bootargs \u0026#34;console=tty1 console=ttySAC1,115200n8 root=/dev/mmcblk1p2 rootwait ro mem=2047M\u0026#34;\rboot #After you have done that, write the commands to the boot.scr file\rmkimage -C none -A arm -T script -d boot.txt boot.scr\r# sync and reboot and it should work\rsync\rreboot now With this in mind I really upgraded my system from kernel 3.8.13 from 2015 - to the most recent 4.10.0-rc2 next Kernel 🙂\nOld: Linux odroid 3.8.13.30 #1 SMP PREEMPT Fri Sep 4 23:45:57 BRT 2015 armv7l armv7l armv7l GNU/Linux\rNew: Linux odroid 4.10.0-rc2-next-20170106-v7 #3 SMP PREEMPT Mon Jan 9 19:17:32 CET 2017 armv7l armv7l armv7l GNU/Linux 2b.) FAN does not work, warning!\nThe CPU Fan does somehow not work right out of the box, so we will now enable it manually. [EDIT, with the new Kernel Config it works out of the box, but you can still decide to use this software to have a more aggressiv cooling :)]\n# Fan to full speed\recho 255 \u0026amp;gt; /sys/devices/platform/pwm-fan/hwmon/hwmon0/pwm1\r# Read out current temperature in °C\rcat /sys/devices/virtual/thermal/thermal_zone0/temp To get things working again, I forked and updated the odroidu2 fan tool. Install it via:\ngit clone --depth 1 https://github.com/nmaas87/odroidu2-fan-service.git\rcd odroidu2-fan-service\rmake\r# install it as upstart service, i.e. \u0026amp;lt; Ubuntu 16.04\rmake usi\r# install it as systemd, i.e. Ubuntu 16.04 / Xenial\rmake systemd\rreboot Useful Commands:\n# Read max CPU Speed:\rcat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq\r# Get current CPU Speed:\rcat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq\r# Torrture Test:\ropenssl speed -multi 4 2c.) Upgrade to Xenial\nAs I upgraded to Xenial with do-relase-upgrade, I had some problems:\nAuthentication Problem:\nIt was not possible to authenticate some packages. This may be a transient network problem. You may want to try again later. See below for a list of unauthenticated packages. create /etc/update-manager/release-upgrades.d/unauth.cfg with [Distro]\rAllowUnauthenticated=yes After upgrade, remove this file.\nfrom: http://askubuntu.com/questions/425355/error-authenticating-some-packages-while-upgrade\nAfter that, apt-get clean did not work: apt-get clean W: Problem unlinking the file apt-fast - Clean (21: Is a directory) Solution was:\nrm -rf /var/cache/apt/archives/apt-fast from: http://askubuntu.com/questions/765274/error-problem-unlinking-in-apt-get-clean\n2d.) MAC address changes every reboot:\nOne solution, which did not work, was following:\nrm /etc/smsc95xx_mac_addr from: http://forum.odroid.com/viewtopic.php?f=7\u0026t=1070\nWhich worked better, was to really set the MAC address to a static value:\nadd in /etc/network/interfaces\nauto eth0\riface eth0 inet dhcp\rhwaddress ether bb:aa:ee:cc:dd:ff from: http://forum.odroid.com/viewtopic.php?f=111\u0026t=8198\n2e.) Control the CPU speeds via cpufrequtils:\napt-get install cpufrequtils\rvi /etc/default/cpufrequtils\rENABLE=\u0026#34;true\u0026#34;\rGOVERNOR=\u0026#34;ondemand\u0026#34;\rMAX_SPEED=1704000\rMIN_SPEED=200000\r# However, I chose \u0026#34;performance\u0026#34; as GOVERNOR and a MIN_SPEED=800000 from: http://forum.odroid.com/viewtopic.php?f=65\u0026t=2795\n2f.) Install Docker\nIf you chose my .config with Docker enabled, you can install Docker with a fast curl -sSL https://get.docker.com/ | sh\nThanks a lot to the Guys over at Hypriot, I took their RPi Kernel Configs as an example and merged those with the U3 Configs to get to this results. And yes, AUFS is still missing but\u0026hellip; it is ok 😉\nAdditional stuff:\nGist of my Kernel Config: https://gist.github.com/nmaas87/81818c1db9dc292a4c21125bd2602658 Following sites helped:\nhttps://blogs.s-osg.org/install-ubuntu-run-mainline-kernel-odroid-xu4/ http://rtisat.blogspot.de/search/label/odroid-u3 https://github.com/umiddelb/armhf/wiki/How-To-compile-a-custom-Linux-kernel-for-your-ARM-device http://rglinuxtech.com/?p=1622 http://rglinuxtech.com/?p=1656 http://forum.odroid.com/viewtopic.php?f=81\u0026t=9342 ","date":"2017-01-24T19:00:27Z","permalink":"/posts/2017-01-24-odroid-u3-kernel-upgrade-docker/","title":"Odroid U3 Kernel Upgrade + Docker"},{"content":"My Docker 101 presentation @ Softwaretest, Testautomatisierung und -management Saar 2017 (23.01.2017, https://www.meetup.com/de-DE/Saarland-Softwarequalitatssicherung-Testautomatisierung/).\nDocker_Testen2017.pdf (0,44 MB, PDF).\nSourcecode / Example can be found on https://github.com/nmaas87/docker-demo\n","date":"2017-01-23T17:45:19Z","permalink":"/posts/2017-01-23-talk-docker-grundlagen-3/","title":"[Talk] Docker Grundlagen"},{"content":"I just updated Sonarqube from 5.6 (LTS) to 6.2. Before that, I upgraded all my plugins in Sonarqube itself and made an backup of my installation and database. Then, I replaced image: sonarqube:lts-alpine in my docker-compose.yaml with image: sonarqube:6.2-alpine. I did an docker-compose up and it started, however, I had some errors so it just kept on restarting. Following this advice I then proceded to delete $SONAR_HOME/data/es/. I then restarted Sonarqube, which worked. I then pointed my Webbrowser to the URL of my Sonarqube Instance and added an /setup and allowed the Database Upgrade. After that, I had a working new Sonarqube instance :).\n","date":"2017-01-20T21:57:36Z","permalink":"/posts/2017-01-20-docker-upgrade-sonarqube-from-5-6-to-6-2/","title":"[Docker] Upgrade Sonarqube from 5.6 to 6.2"},{"content":"As a matter of fact, I\u0026rsquo;ve been working for more than 8 years with Cisco equipment and continue to do so. I really like Ciscos products, especially in the router / switch sector and had the pleasure to work with products in the range of Switching, Routing, Communications / Phones, Wifi, Datacenter Connectivity and Security. However, I had 3 unpleasent events with Ciscos products and I want to take the time to talk about two of those, as they occured because of the same reason.\nIf you don\u0026rsquo;t know about Ciscos RAM problem, I want to give you a quick heads up: Fact is that Cisco installed defective SDRAM in almost all their products ranging from 2005-2012. The products with this defective RAM would work as normally, however, after being in use for more than 2 years AND an reboot, the products would fail - and stay that way. Cisco got to know about that problem in 2010, as they state themself, however, they informed users in 2012 for the first time. You can find out more about the topic on http://www.cisco.com/go/memory - this website was in 2014\u0026hellip; As you can see, quite a lot of different products, including Routers like the 18xx/28xx series, Phones like the 79xx, the ASA55xx firewalls, Firewall Service Modules and more.\nPhones As we had switched over to Cisco Phones a long time ago, we had multiple thousands of Cisco 79xx phones standing around and starting to die in 2014. We just got more an more messages from different customers that the phones just \u0026ldquo;went blank\u0026rdquo; and did not come up again. Only the speaker button was lit and thats it. As more and more phones died and we already opened up our own little graveyard, we went to Cisco with our problem - however, we never received an answer - until I figured out the problem myself: By disassembling some 7945, 7965 and 7975 - inspecting them and working around them with an self-made Serial Cable to the phones. It seemed like they would not start to unpack their image\u0026hellip; As I figured the CPU should be fine an flash too, I came up with the theory that the SD-RAM was broken and found Ciscos website. However, I still insisted on proving my theory in the only way possible: Resurrecting one of our 7975 corpses from the graveyard.\nI found the really good teardown on globalspec.com which stated that the SDRAM in this phone was a Samsung K4H561638H-UCB3 [SDRAM - DDR, 256Mb (16M x 16), 166 MHz, 2.5V, TSSOP 66]. After that I just removed the Motherboard from the Phone, removed the RAM with help from a friend (he got some really nice SMD reballing workstation :)) - and soldered in the new RAM. Without reflashing any Firmware or reset, it just worked after putting it back together! This proved my point.\nLinecards Just some months ago, we had another accident with a linecard: One of our core switches rebooted due to power failure and after that, our 10 Gig Linecard, which connected one of our two main storage systems to the core, failed.\nMod Ports Card Type Model Serial No.\r--- ----- -------------------------------------- ------------------ -----------\r1 4 CEF720 4 port 10-Gigabit Ethernet WS-X6704-10GE xxxxxxxxxxx\r5 2 Supervisor Engine 720 (Active) WS-SUP720-3B xxxxxxxxxxx\rMod MAC addresses Hw Fw Sw Status\r--- ---------------------------------- ------ ------------ ------------ -------\r1 xxxxxxxxxxxxxx to xxxxxxxxxxxxxx 3.2 Unknown Unknown Other\r5 xxxxxxxxxxxxxx to xxxxxxxxxxxxxx 4.7 8.5(4) 12.2(33)SXH8 Ok\rMod Sub-Module Model Serial Hw Status ---- --------------------------- ------------------ ----------- ------- -------\r1 Centralized Forwarding Card WS-F6700-CFC xxxxxxxxxxx 4.1 Other\r5 Policy Feature Card 3 WS-F6K-PFC3B xxxxxxxxxxx 2.7 Ok\r5 MSFC3 Daughterboard WS-SUP720 xxxxxxxxxxx 2.12 Ok\rMod Online Diag Status ---- -------------------\r1 Unknown\r5 Pass\rRouter# show power\rsystem power redundancy mode = redundant\rsystem power redundancy operationally = non-redundant\rsystem power total = 2771.16 Watts (65.98 Amps @ 42V)\rsystem power used = 859.74 Watts (20.47 Amps @ 42V)\rsystem power available = 1911.42 Watts (45.51 Amps @ 42V)\rPower-Capacity PS-Fan Output Oper\rPS Type Watts A @42V Status Status State\r---- ------------------ ------- ------ ------ ------ -----\r1 WS-CAC-3000W 2771.16 65.98 OK OK on 2 WS-CAC-3000W 2771.16 65.98 - - off\rPwr-Requested Pwr-Allocated Admin Oper\rSlot Card-Type Watts A @42V Watts A @42V State State\r---- ------------------ ------- ------ ------- ------ ----- -----\r1 WS-X6704-10GE 295.26 7.03 295.26 7.03 on on\r5 WS-SUP720-3B 282.24 6.72 282.24 6.72 on on\r6 (Redundant Sup) - - 282.24 6.72 - -\rRouter#show platform hardware pfc mode\rPFC operating mode : PFC3B However, after replacing the Memory with new one, everything worked out - the Linecard was usable again!\nI found information about the problem on Cisco again - after I resolved the problem: http://www.cisco.com/c/en/us/support/docs/field-notices/637/fn63743.html\nThe diagnostic test could be started with diagnostic start system test all\nSo, these are two problems I personally came across with Cisco Systems which failed, due to faulty memory and I decided to describe here - maybe some people stumble across these keywords and find the solution for their failing devices.\n","date":"2017-01-16T09:00:28Z","permalink":"/posts/2017-01-16-cisco-ram-problem-phonelinecard/","title":"Cisco RAM Problem (Phone/Linecard)"},{"content":"Here is my presentation to resinOS @ PiAndMore 9 1/2 (Hochschule Niederrhein / Krefeld, 14.01.2017)\nresinOS_PiAndMore9_1_2.pdf (0,6 MB, PDF)\nVideorecording of the talk can be found here\n","date":"2017-01-14T12:45:54Z","permalink":"/posts/2017-01-14-piandmore-resinos-presentation/","title":"[PiAndMore] resinOS Presentation"},{"content":"Here is my presentation to the Raspberry Pi Introduction @ PiAndMore 9 1/2 (Hochschule Niederrhein / Krefeld, 14.01.2017)\nRPiEinführung_PiAndMore9_1_2.pdf (1,94 MB, PDF)\nand to the Workshop:\nRPiWorkshop_PiAndMore9_1_2.pdf (1,09 MB, PDF)\nVideorecording of the talk can be found here\n","date":"2017-01-14T08:15:36Z","permalink":"/posts/2017-01-14-piandmore-raspberry-pi-introduction-workshop-presentation/","title":"[PiAndMore] Raspberry Pi Introduction / Workshop Presentation"},{"content":"With Docker Hub it is dead simple to just link your Github Account to Docker, choose an Github Repo which contains your Dockerfiles and Apps - and build them as soon as you push new code. But as soon as you\u0026rsquo;re not the owner of the repo (i.e. you\u0026rsquo;re a fan and want to provide Dockerbuilds for Docker Hub) - things get messy. But actually, it works quite easy: Just apply some IFTTT - and you\u0026rsquo;re set ;).\nOk, a little bit more detail: If this then that is a nice Website which lets you create some small but powerful Applets. I.e.: If the weather is cloudy, sent me an email. Things like that. Just sign up on https://ifttt.com, its free! 🙂\nAfter that, just go over to https://hub.docker.com. Link your Github Account with Docker Hub and create and Auto Build Repo on Github with the Dockerfile of the project you want to build. In my case, the program I\u0026rsquo;d like is developed on Github itself, so my Dockerfile contains some instructions to just check out that repo, build the program and.. done :)! After this is working, go to the \u0026ldquo;Build Settings\u0026rdquo; Dialog of your Docker Hub Repo and go to the \u0026ldquo;Build Triggers\u0026rdquo; area. Activate the Build Triggers and Copy Down the Trigger URL. Every time the URL is used, your Repo is going to be build a new :).\nThe only thing we now need, is to know when a new commit is made. And Github makes that very easy: Go to your wanted Github Repo (I will use pklaus awesome brother_ql as example: https://github.com/pklaus/brother_ql, click on commits in the branch you like to use (i.e. master in my case) - and you will be redirected to the page showing you all commits: https://github.com/pklaus/brother_ql/commits/master. Just add an .atom after that URL, and voilá: You got yourself an RSS Feed of that commit stream ;)!. ( https://github.com/pklaus/brother_ql/commits/master.atom )\nCopy that link as well, we\u0026rsquo;re going to combine both links via the \u0026ldquo;magic\u0026rdquo; of IFTTT ;): Click on \u0026ldquo;my Applets\u0026rdquo;, \u0026ldquo;New Applet\u0026rdquo; and on the \u0026ldquo;+ this\u0026rdquo; part. Select the Feed Service, and \u0026ldquo;New Feed item\u0026rdquo;. Paste the collected Atom/RSS Feed URL in the Feed URL field and click \u0026ldquo;Create Trigger\u0026rdquo; (https://github.com/pklaus/brother_ql/commits/master.atom).\nAfter that, click on the \u0026ldquo;+ that\u0026rdquo; part and search for \u0026ldquo;Maker\u0026rdquo; - and choose it as action service - the action should be \u0026ldquo;Make a web request\u0026rdquo;. Now enter the Build trigger URL from Docker Hub you noted down, choose the \u0026ldquo;POST\u0026rdquo; Method, \u0026ldquo;application/json\u0026rdquo; as Content Type and enter \u0026ldquo;build\u0026rdquo;: true as Body. After that, click save.\nActivate your newly made Applet - and you\u0026rsquo;re done: As soon as someone pushes a new commit, IFTTT will see that and start an rebuild of your Docker Hub Repo :).\n(Yeah, that is a really hacked-together part, but it works ;))\n","date":"2017-01-02T13:00:41Z","permalink":"/posts/2017-01-02-docker-autobuild-docker-images-from-github-repos-you-dont-own/","title":"[Docker] Autobuild Docker Images from Github Repos you don't own"},{"content":"I tend to work crossplatform on different systems, mostly switching between different kinds of Ubuntu/Debian and Windows machines - always checking out and commiting git files on those machines. And I always forget to get the Git Line Endings right, as soon as I add a new machine to that list\u0026hellip; So to do that, just a quick one liner:\ngit config --global core.autocrlf input\r# Configure Git on Linux to properly handle line endings ","date":"2017-01-01T09:00:32Z","permalink":"/posts/2017-01-01-configure-git-line-endings/","title":"Configure Git Line Endings"},{"content":"Normally, I tend to work on freelance projects in the Art sector, i.e. for exhibitions (like seen here) or props for different cosplays / costumes. Another job I am really into, is the repair of different electronics and computer related things at the RepairCafé in Trier, which I do on a voluntarily base / for free. However, this time a friend approached me to do a commission work / repair an old computer he found - and wanted to see working again :). So, I ended up doing just that.\n\u0026ldquo;State of Decay\u0026rdquo;: The Apple 2c and Monitor came in quite good condition, however, without any accessories, not even the power supply \u0026ldquo;brick\u0026rdquo; which was needed to operate the 2c. So my first order of business was to create an power supply from scratch, then testing the monitor.\nApple 2c / //c Power Supply: Creating the power supply was surprisingly easy, as the 2c uses an internal converter which can take in about anything between 9 and 20 V. However, I wanted to stay as \u0026ldquo;true\u0026rdquo; to the original, which uses an 15 V, 1,2 A supply. To get this voltage, I used an Toshiba PA3755U-1ACA (Toshiba Partnumbers: P000567170 P000519840) which takes in 100-240 V AC and Outpus 15 V @ 5A (75 W) - that is quite a bit more than needed by the 2c, but it came in at 8,98 € on ebay (with shipping) - so that was quite ok! Also, I needed an connector to hook up the supply to the Apple. Luckily, Apple did use an common DIN Style Connector, so I just needed to buy an Female DIN Plug Connector with 7 Pins - and thats it. The wiring schematics came from an old scan of the Apple Reference Manual which I attached here. After connecting everything together, it just worked :)!\nHandbook:\nAnother shot of the original plug:\nSelf-soldered-mess before cleaning up and sealing\nApple 2c working\nThe obligatory \u0026ldquo;Hello World\u0026rdquo; in basic 🙂\nApple Monitor: After the 2c was back in operation, I tested the monitor, which worked out of the box perfectly. I just needed to grap an Cinch cable from my Soundsystem, connect the Apple 2c to the monitor and it just worked - for about 20 minutes. Then, the Monitor just went up in smoke and failed. I opened up the case and followed the stench to a nicely blown interference suppression capacitor:\nAs the fuse was blown as well and another capacitor was sitting on the same board, I figured I should replace them all. So the \u0026ldquo;big\u0026rdquo; one was an 0,47uF / 250 VAC one, the smaller an 0,1uF / 250 VAC, both X2 rated. The fuse was an 250 V, 315 mA, \u0026ldquo;T\u0026rdquo; rated \u0026ldquo;träge\u0026rdquo; / \u0026ldquo;slow\u0026rdquo; fuse.\nAfter I replaced everything an wired it up again, I dared a small test: It worked!\nI did some additional cleaning as well as an good testing and it seemed to be working very well. I figured out that I could jump directly to the basic interpreter by pressing CONTROL + RESET and had some PRINT \u0026ldquo;Hello World\u0026rdquo; fun again ;). And with that said, the whole thing was ready to be given back to its owner :).\n","date":"2016-12-31T15:30:12Z","permalink":"/posts/2016-12-31-restoring-an-apple-c-2c-and-monitor/","title":"Restoring an Apple //c / 2c and Monitor"},{"content":"About 14 days ago, RPi Kernel Version 4.4.38 was published. However, something went very wrong somewhere: Raspbery Pi Models 1 and 2 do not boot anymore. As a quickfix I would recommend to download the 4.4.37 Kernel from the Github Repo (https://github.com/raspberrypi/firmware/) and replace the boot Partition on your RPi 1 or 2 SDCard with the /boot path from the 4.4.37 ZIP File - and it should boot again. If you\u0026rsquo;re RPi is still working - do not update your kernel until this problem is solved! Issue on Github.\nEDIT: Reason for the issue was mostly the open\ndevice_tree= configuration in the config.txt\nRemoving this option solved the problem.\n","date":"2016-12-28T22:00:29Z","permalink":"/posts/2016-12-28-raspberry-pi-warning-kernel-4-4-38-breaks-boot-on-rpi-1-2/","title":"[Raspberry Pi] Warning - Kernel 4.4.38 breaks boot on RPi 1 \u0026 2"},{"content":"There are a lot of companies providing cloud services today: Amazons AWS, DigitalOcean, Heroku - just to name a few. Being an ARM-SoC-Fanboy however (well, I do too much RPi and Co stuff.. ^^\u0026rsquo;), I run into Packet.net - another cloud services provider - but with a little twist: Packet.net does offer Bare Metal Services. So you do not order \u0026ldquo;another VM\u0026rdquo;, but the Hardware itself. They claim to have it provisioned within 8 Minutes (Source: https://www.packet.net/) and you also can use a ton of specialized stuff (some servers even got NVMe flash). But what really caught my attention, was the Type-2A server, an Cavium 96 Core ARMv8 @ 2GHz with 128 GB of DDR4 RAM and some SSD space - for 0,50 USD / hour (More Info here, here and here. So I decided to follow Packet.net on Twitter.\nFull Disclosure: This was not a paid review, however, thanks to the guys over at Packet.net, I got 25 USD in Packet.net \u0026ldquo;currency\u0026rdquo; which I used to get an hand-on experience with their service - which I summed up in this review. (You can read the full discussion with the guys at Packet.net over on Twitter: https://twitter.com/nmaas87/status/808966172913733632).\nWith that being said, lets get started:\nSign Up: The process to register at Packet.net was fairly straight-forward: Just click on Signup, enter your Name, E-Mail and Password. However, at this stage you already had to enter details to either an Credit Card or directly link your details to an Paypal Account, which reminded me directly that this is going to be an paid service. Also, your Account will be tested by trying to transfer 1 USD from it. However, I wished that there would be a way to register without such details, as you can actually add members to a project afterwards - but not everyone in a corp should need to enter Credit Card Details imho (EDIT: This is possible after creating the initial Account via Inviting other ppl to the project). After this, you had to validate your E-Mail via the normal \u0026ldquo;get Mail, click Link\u0026rdquo;-Game. Then, after this was over, you had to enter your phone number and give them the sent code\u0026hellip; And after this was over - you got the info that your account was suspended and needed to be verified manually. Ok, so I got another E-Mail within 20 minutes and got ask if I had an Social Media Account, so that they could line up my data with that\u0026hellip; I sent them to my Twitter Account, and that checked out ok. However, that made the whole sign-up process come in in about 30 minutes. \u0026ldquo;You\u0026rsquo;ll be spinning up servers in less than 8 minutes\u0026rdquo; - well, that looks kind of different :/. At that point in time, they actually got my Name, Mail, Phone Number, an valid payment account linked, as well as an Social Media Profile. Um, honestly I think - that is a bit too much.\nConsole / Webinterface: The Webinterface is quite nice and very usable, no problems there :)!\nKicking the tires: You actually create an project, link it to one of your payment accounts and get the possibility to add other Team Members via E-Mail Invite. Those people will be able to work within the project, however they won\u0026rsquo;t be able to configure anything on the payment side, which is quite nice. I invited myself with another Mail Account and discovered, that I did not need to go through an \u0026ldquo;manual control\u0026rdquo; or payment service addition. However, I still had to \u0026ldquo;click that link\u0026rdquo; and do the SMS Code challenge. One nice thing to add here: You can actually use the same number for multiple accounts :).\nNext thing to do, would be to add SSH keys. You can add Project SSH Keys, which are bound to \u0026ldquo;just the project\u0026rdquo;, or personal SSH Keys which will be added to every server of every project you\u0026rsquo;re a member of. 4096 Bit RSA worked fine, so.. Everything ok on that side. Additionally, you can add Two Factor Authentication (2FA) which I would personally use, if I were to use Packet.net on a real project.\nLast thing I did, was to add an API Key, so that I could try that as well.\nThe thing I really missed here, was some kind of \u0026ldquo;Help me\u0026rdquo; link, to the description of the API Interface. You can really easily find those by browsing to the Main Website, and going to Resources -\u0026gt; API Docs - however, it would be more User friendly to actually include a link on that page for the sake of getting the confused Admin faster to her/his/its goal ;). Especially, since they managed to include an \u0026ldquo;How to generate an SSH Key\u0026rdquo; link directly at the \u0026ldquo;Add SSH Key\u0026rdquo; section. By the way, the documentation for the API Interface, once found, is excellent - as well as the API Interface itself. I played a bit around with the Restful API and it seems as really every last bit of functionality is included in it, so, an real plus if you want to orchestrate your deployment a bit :).\nBonus Points: They even host different language bindings for their API, i.e. Python and Java on their Github Account: https://github.com/packethost/packet-python\nThe last thing to do, was to deploy a server - and that is quite easy:\nJust enter the needed details, like the Type of Server you want to create, with what kind of OS and where should it be hosted. After clicking Deploy, the Server Deployment begins.\nI created the server on 26.12.2016 at 16:45, thinking that not that many people should be playing around with Packet.net at that day. Complete deployment took 9 Minutes and 11 Seconds, so just over the advertised 8 Minutes - however, I still think that is more than ok :)!\nThe next thing you\u0026rsquo;ll see, is the control panel for your server: It actual contains everything you need: From metering, to your IPs, Login credential - and even an root credential, as well as an Serial Console (\u0026ldquo;Console\u0026rdquo;) and an Rescue OS (\u0026ldquo;Server Actions\u0026rdquo;) as well as some reboot options and the usual. With the created SSH Key and the User root I was able to directly connect to my new ARMv8 Beast and started playing around.\nFirst order of business was installation of Docker, however, I found out that the install script has an error (which I need to fwd to their github Repo soon), so I went with the lazy way and installed the usual docker.io Package from Ubuntu, which worked great. However, after installing and testing this, I run into issues by trying to get an ARMv6/ARMv7 Image from Resin.io running. However, an special created ARMv8 Debian Image worked.\nThen, I went and tried some Multicore Stuff. I found a nice Python Pi Script on Gist and included some timeit stuff (https://gist.github.com/nmaas87/941b6934b51c90f462172ed63718b602).\nJust to get an idea of how powerful that machine is: My main desktop, an AMD-8350 with \u0026ldquo;8\u0026rdquo; x 4 GHz Cores and 24 GB RAM went through 1.000.000.000 data points for their Monte-Carlo Simulation in 73.70 seconds. The Type-2A, with 96 Cavium ThunderX CN8890 @2GHz and 128 GB RAM did the same job in 34.14 seconds. Nice, not bad for an ARM :)!\nIn the end I also tried some speedtests in terms of their connectivity to the net, but the results were full of outliers, so I won\u0026rsquo;t include them here.\nConclusion I think Packet.net does serve a quite unique purpose with their services: You get \u0026ldquo;raw\u0026rdquo; performance without any virtualization or sharing and for a good price point, if you would just need some special hardware for special occasions, like i.e. testing Docker or scientific experiments on huge multicore systems. They made \u0026ldquo;real\u0026rdquo; servers as easy to use as a VM and allowing to access this power via an really good documented API is a big plus.\nI want to thank Packet.net for making this review possible :)!\nAnd now, a nice picture of an fully working 96 Core ARMv8 😉\n","date":"2016-12-26T17:31:32Z","permalink":"/posts/2016-12-26-review-packet-net/","title":"[Review] Packet.net"},{"content":"If you\u0026rsquo;re in the NetOps/DevOps Teams, chances are high you need to develop code and use git. Well, on Windows Clients, I tended to use Atlassians Source Tree - however, that client became more and more buggy and unstable - unusable to say. Especially if I had to do an really big merge of my main to my deploy tag - it tended to crash most of the time.\nSo, without further ado: Enter Gitkranken. A nice, free, good looking and fast git client. Without dependencies.\nOnly downsides: It uses Electron - so it is basically a packaged Node JS server. It is - quite fast, however - and it does not need to install any other dependencies. The other \u0026ldquo;downside\u0026rdquo; is, if you want to use more than one GitHub Account, you need to pay for these kind of features.\nHowever, as long as there is no \u0026ldquo;real\u0026rdquo; alternative to this product, I will remain using it :).\n","date":"2016-12-24T15:00:28Z","permalink":"/posts/2016-12-24-gitkraken-your-next-git-client/","title":"Gitkraken - your next Git Client"},{"content":"As I am quite an Twitter Addict, I tend to surf a lot on that Social Media Site, blowing my Android Cache to unfriendly-sizes. In earlier days, I installed some random Cache Cleaner from the PlayStore, cleaned the Caches and directly uninstalled those Apps again, as they tended to be full of Ads. However, in recent days, I saw that most Cache Cleaners did not work - even though \u0026ldquo;the devs said so\u0026rdquo;. How come? Well, I found my answer on the Github Repo of the android-cache-cleaner: \u0026ldquo;Starting with Android 6.0, CLEAR_APP_CACHE permission seems to be no longer available to regular applications and since this permission is required for cleaning of internal cache, Cache Cleaner is not able to clean internal cache on Android 6.0 and newer. However, cleaning of external cache is still supported.\u0026rdquo; Well, cool thing. So most of those apps are useless as hell. But how to clean all the caches?!\nTL;DR:\nYou do not need [an] app anymore if you are on Android 6.0 or newer. Just go to Settings \u0026amp; Storage -\u0026gt; USB -\u0026gt; Internal storage and click on Cached data in order to clear all the cache.**\nSource: https://github.com/Frozen-Developers/android-cache-cleaner/blob/master/README.md\n","date":"2016-12-24T12:32:05Z","permalink":"/posts/2016-12-24-cleaning-cache-on-android-6-x-apps-wont-work/","title":"Cleaning Cache on Android \u003e= 6.x (Apps won't work!)"},{"content":"The guys over at the Raspberry Pi Foundation - in cooperation with the MagPi Team came up with a cool project: They ported the new \u0026ldquo;Pixel\u0026rdquo; desktop from Raspbian over to Debian, so you could use it on your normal x86/x64 machine. The DVD is included in the latest MagPi edition, however, you can also download the DVD from the Raspberry Pi Website, the link is in the article: https://www.raspberrypi.org/magpi/debian-pixel-mac-pc/\nPS: Also the \u0026ldquo;root\u0026rdquo; directory of the pixel_x86 seems to be: https://downloads.raspberrypi.org/pixel_x86/images/\n","date":"2016-12-23T10:35:02Z","permalink":"/posts/2016-12-23-raspberry-pi-pixel-on-your-x86x64/","title":"Raspberry Pi Pixel - on your x86/x64"},{"content":"To use the RPi via Remote Desktop, different protocols and programs exist, i.e. VNC. Due to simplicity of use, however, I mostly chose XRDP, which works with the Microsoft Remote Desktop Tools. However, you must not install it via sudo apt-get install xrdp - as this will install it with realvnc and break xrdp (Package error which has not been fixed yet in the recent \u0026ldquo;Pixel\u0026rdquo; Release of Raspbian\u0026hellip;).\nInstead, use:\nsudo apt-get install tightvncserver xrdp As it will install tightvnc first and xrdp will use it after that as source. You can then use mstsc on your Windows Machine or any other RDP Viewer to access your RPis Desktop.\nPS: Yes, the new Pixel Version of Raspbian does contain an VNC Server which can be enabled very easily via the GUI \u0026ldquo;Raspberry Pi Configuration\u0026rdquo; Tool, if you want to use VNC directly without RDP. However, I did chose this way, as the old VNC server installations never worked for me and I got used to this kind of \u0026ldquo;workaround\u0026rdquo; (more or less a \u0026ldquo;works-for-me\u0026rdquo;(tm) solution)\n","date":"2016-12-16T20:23:56Z","permalink":"/posts/2016-12-16-raspberry-pi-remote-desktop/","title":"Raspberry Pi Remote Desktop"},{"content":"Images should be a kind of \u0026ldquo;throw-away\u0026rdquo; format: You got your Dockerfile, and as soon as you need to run a specific container, you should just built it from scratch: All the latest security updates, software versions - great. However, sometimes you got a bit of specialized stuff which you want to backup for later use.\nI found a good answer to that topic: https://stackoverflow.com/questions/26707542/how-to-backup-restore-docker-image-for-deployment\nBackup:\ndocker save myusername/myproject:latest | gzip -c \u0026gt; myproject_img_bak20141103.tgz Restore:\ngunzip -c myproject_img_bak20141103.tgz | docker load ","date":"2016-12-06T15:00:41Z","permalink":"/posts/2016-12-06-docker-backup-restore-images/","title":"[Docker] Backup / Restore Images"},{"content":"You can find out your Dell/Sun Servicetag on Ubuntu via:\nsudo dmidecode -s system-serial-number\n","date":"2016-12-06T10:02:48Z","permalink":"/posts/2016-12-06-dell-servicetag-on-ubuntu/","title":"Dell Servicetag on Ubuntu"},{"content":"[UPDATED 10.12.2016]\nA little bit problematic, but\u0026hellip; works in the end.\nWarning: Bleeding Edge!\nWill bootloop, you\u0026rsquo;ll need to format your phone, it will break eggs, pcs, glass and burn down your house.\nComes with no support what-so-ever from my side.\nYou have been warned!**\n1.) Get all the files\nCM: https://download.cyanogenmod.org/?device=mako Latest version was: https://download.cyanogenmod.org/get/jenkins/187896/cm-14.1-20161202-NIGHTLY-mako.zip GAPPS: http://opengapps.org/ (ARM, 7.1 GAPPS, Picco Version) TWRP: https://twrp.me/devices/lgnexus4.html Download from: https://dl.twrp.me/mako 2.) Flash TWRP\nPress Vol Down and Power Button to shut down the Phone. Press Vol Down and Power Button again to boot to the Bootloader Upload TWRP via fastboot: fastboot flash recovery twrp.img 3.) Flash and Install\nBoot to Recovery Delete all Files from your Phone Upload CM and GAPPS file via MTP to sdcard Flash CM, then GAPPS Clean Cache 4.) \u0026ldquo;Debug\u0026rdquo;\nYou would get an bootloop, if you would reboot now. According to http://androidforums.com/threads/twrp-bootloop-fix-after-update-ota.922585/ you need to go to the Terminal (or adb shell) and enter following commands:\ndd if=/dev/zero of=/dev/block/platform/msm_sdcc.1/by-name/fota (enter) - and then dd if=/dev/zero of=/dev/block/platform/msm_sdcc.1/by-name/misc (enter) 5.) Reboot\nAnd you\u0026rsquo;re good to go. However, somehow the update functions are bricked, so\u0026hellip; check out the forums and bug reports:\nhttp://forum.xda-developers.com/nexus-4/orig-development/official-cyanogenmod-14-1-nexus-4-t3507532/page7 https://www.cmxlog.com/14.1/mako https://review.cyanogenmod.org/#/c/173328/ EDIT / REGARDING UPDATES:\nUpdates seem to be bricked because of some error in TWRP which sends Android 7.1 into a bootloop after EVERY update. So if you\u0026rsquo;re updating via regular \u0026ldquo;Fullsized Images\u0026rdquo; from get.cm, you need to run the 4th Section / Debug EVERY time you update! However, you can get around that, if you use CyanDelta Updater (https://play.google.com/store/apps/details?id=com.cyandelta). Just install CyanDelta Updater on your phone, choose your CURRENT cm.zip (i.e. the one you installed your phone with, in this tutorial the cm-14.1-20161202-NIGHTLY-mako.zip) and let it index that. After this, it will try to find newer CM versions on the net and only download the delta, i.e. the changes to your current image. This will most likely break down your new 330+ MB download to an about 40+ MB download (which is nice!) - and after that, you can just install the update via the same app (actually it will ask you, just give it root rights and let it do its job, next reboot will take a while, but it works! :)). In any case, the TWRP Bootloop problem is solved with that, update downloads are smaller and everyones happy ;).\nIMPORTANT: Best strategy before attempting ANY kind of update would be to make a full backup via TWRP and move it to a secure location (i.e. your pc harddrive) in case you brick your phone and need to restore it! At least one backup after your initial install (with all apps and stuff) should be made. It makes life so much easier in case something goes wrong :).\n","date":"2016-12-02T20:20:57Z","permalink":"/posts/2016-12-02-nexus-4-upgrade-to-cm-14-1-android-7-1-nougat/","title":"Nexus 4 Upgrade to CM 14.1 / Android 7.1 Nougat + Updates"},{"content":"So, yesterday evening y0sh came to me with following problem: \u0026ldquo;I got an real nice proxmox server with loads of CPU and RAM - and nearly no storage left. And I got an small little Atom Server with loads of Storage - but not very useful as VM Host - and yes, they are within the same network\u0026rdquo;. Ok, so: Lets create an NFSv3 Server on the Atom system and mount it as disk storage within Proxmox 🙂\nAtom Server (Ubuntu) Install NFS v3 Server sudo apt-get install nfs-kernel-server rpcbind Create Shared Directories sudo mkdir -p /var/nfsshare sudo chmod -R 777 /var/nfsshare Configure Server sudo vi /etc/exports Insert the line into exports, with the IP Address of your NFS Client / Proxmox Server /var/nfsshare 192.168.1.111(rw,sync,no_root_squash) save and exit, fine tuning: sudo vi /etc/default/nfs-kernel-server change the line RPCMOUNTDOPTS to RPCMOUNTDOPTS=\u0026#34;--manage-gids --no-nfs-version 4\u0026#34; # to use nfs v3 ... reload the nfs exports\u0026hellip; sudo exportfs -r \u0026hellip;or restart the server sudo /etc/init.d/nfs-kernel-server restart show all share directorys sudo exportfs -v Mount NFS in Proxmox Go to Datacenter, Storage, Add, NFS\nIP: \u0026lt;IPofYourNFSUbuntuServer\u0026gt; Export: Export i.e. /var/nfsshare Content: i.e. Disk image Enable: Yes Max Backups: Maximum Backups of each VM # if something goes wrong and you still can\u0026#39;t connect to the NFS, log onto the Proxmox server # vi /etc/pve/storage.cfg # look for your NFS Mount and change options to options vers=3,nolock # save the file and it should work ","date":"2016-11-24T15:24:36Z","permalink":"/posts/2016-11-24-ubuntu-proxmox-hosting-nfsv3-server-on-ubuntu-for-proxmox-server/","title":"[Ubuntu / Proxmox] Hosting NFSv3 Server on Ubuntu for Proxmox Server"},{"content":"I have been building an complete Invoice / Cashier system for Cafés in my spare time for quite some time. It consists of an server, running the web app, an laptop to use as the real cashier system, multiple Android Phones as a way for the waiters to enter their orders and two Raspberry Pis with Brother QL-570s as Invoice Printers. One of those is set at the counter, printing the \u0026ldquo;normal invoice\u0026rdquo;, the second one is located at the kitchen and got some special routing logic, so that it only recieves the items actually produced in the kitchen. However, as I was using these special kind of printers, I was bound to use the printer-ptouch drivers\u0026hellip; and yeah, they are kind of buggy. Buggy in that way, that, after installing them with cups and hacking your paper media in there - they will just stop working from time to time. Without further warning. They will stop printing just somewhere in the middle of the job. I really tried all options available to me now - and was now keen on finding other kinds of solutions. And after two days of searching, I stumpled upon this master piece: https://github.com/pklaus/brother_ql. Mr. Philipp Klaus did actually dump the whole cups and printer server stuff and directly converted png files into the needed binary code for the printer. And not only the QL-570, but other types as well. I really recommend checking out his code and trying his way on printing - its a huge timesaver, especially on embedded devices like the Raspberry Pi :)!\n","date":"2016-11-22T20:45:44Z","permalink":"/posts/2016-11-22-python-ql-570-using-brother-ql-printers-via-python/","title":"[Python / QL-570] Using Brother QL Printers via Python"},{"content":"My Docker 101 presentation @ Containerschifffahrt SB - Docker-Meetup 2016 (14.10.2016, https://www.meetup.com/de-DE/Containerschifffahrt-SB-Docker-Meetup/events/234248360/)\nDocker_Meetup2016.pdf (0,42 MB, PDF).\nSourcecode / Example can be found on https://github.com/nmaas87/docker-demo\n","date":"2016-10-14T20:00:34Z","permalink":"/posts/2016-10-14-talk-docker-grundlagen-2/","title":"[Talk] Docker Grundlagen"},{"content":"This post was planed a LONG TIME, however - due to the fact that I could not get it working back in 2015 (See: https://github.com/freifunk-gluon/gluon/issues/496) it had been delayed. However, as I have the need to get Freifunk working as VM on a central ESXi Server - I tried it again - and it worked! Basic instruction to get it working can be found here in german: https://www.it-kl.eu/2015/08/gluon-x86-unter-vmware/\nI got following equipment: ESXi 4.1 Server with multiple NICs.\nStart up with getting the right image from your Freifunk Team. I got the gluon-fftr-0.8.4-x86-vmware.vmdk from the Firmware Store of my trusted guys from FFTR (https://github.com/freifunktrier/firmware_store/tree/master/firmware/stable/factory [ Trier 0.8.4 is gluon 2016.1.6-3-g9300421, it\u0026rsquo;s just 2016.1.6 + ee597c6 + Webinterface-color-patches ] )\nAfter that, create a new VM on your VMWare ESXi Server. Choose an user definied configuration, \u0026ldquo;Other\u0026rdquo; OS and \u0026ldquo;Other (32-Bit)\u0026rdquo; Version. I gave the VM a 1 vCPU and 512 MB of RAM - but you can chose as you like. After that, you need to create two Network Devices / NICs. I chose two E1000 ones, and gave the first Interface the Freifunk LAN and added the second Interface to my common WAN (IMPORTANT!). After that, you\u0026rsquo;re not going to create an HDD.\nAfter the creation of the VM, upload your vmdk file to the folder, edit the VM and chose the downloaded VMDK as Harddrive.\nOn your ESXi Server, go to Configuration, Network and edit your vSwitch. Allow Promiscuous Mode, MAC Change and Fake Transmissions.\nAfter that, go to Configuration, Software, Advanced Settings - to the \u0026ldquo;Net\u0026rdquo; section and change Net.ReversePathFwdCheckPromisc to 1 (thanks to FFS-Roland for helping out! :))\nAfter that, you can start up your VM. You should get DHCP on your FFLAN Port - something like an 192.168.1.x address. Go to 192.168.1.1 via browser, give your Router a name, enable Mesh VPN (important!) and maybe change the bandwidth settings. Save and mail your VPN Key to your Freifunk Team. In some hours, you should be good to go (the Key added to their system - and after a quick reboot of your VM, you should be live :))\nThanks a lot to Draco and Ranlvor from Freifunk Trier for their tremendous help :)!\n","date":"2016-10-03T19:44:33Z","permalink":"/posts/2016-10-03-freifunk-virtual-freifunk-router-on-vmware-esxi-4-1/","title":"[Freifunk] Virtual Freifunk Router on VMWare ESXi 4.1"},{"content":"Sonarqube is cool, as the generated results can not only be viewed via the web interface, but also via an plugin in IntelliJ or other Jetbrains IDEs. The installation is quite simple, you just need to download the latest plugin on this website: https://plugins.jetbrains.com/plugin/7238 and install it in the way described here: https://github.com/sonar-intellij-plugin/sonar-intellij-plugin. After that, you can easily hunt down and eliminate those errors :)!\n","date":"2016-10-03T08:00:16Z","permalink":"/posts/2016-10-03-sonarqube-use-sonarqube-in-intellij-phpstorm-etc/","title":"[Sonarqube] Use Sonarqube in IntelliJ / PhpStorm / etc."},{"content":"Sonarqube is an really useful tool to check for different kind of errors in all kinds of programming languages. If you want to check out Sonarqube in a livedemo, just go over to https://sonarqube.com/. In the last two parts of my Docker series we created an gogs Git Repo as docker container and then went over to integrating gogs with drone (Version 0.4), an CI Build Server - also as Docker container. Today, we want to install Sonarqube as a tool to check upon our software quality, so that - as soon as we push an update to our gogs project, drone will execute an analysis using Sonarqube - which will give us information about different kind of errors and code quality.\nWe will start by creating the needed folders: sudo mkdir /var/sonarqube sudo mkdir /var/sonarqube/data sudo mkdir /var/sonarqube/extensions sudo chown -R yourusername:yourusername /var/sonarqube Then we change our drone docker-compose.yml, so that drone and sonarqube will be started at the same time sonarqube:\rrestart: unless-stopped\rimage: sonarqube:lts-alpine\rvolumes:\r- /var/sonarqube/data:/opt/sonarqube/data\r- /var/sonarqube/extensions:/opt/sonarqube/extensions\renvironment:\r- SONARQUBE_HOME=/opt/sonarqube\r- SONARQUBE_JDBC_USERNAME=sonar\r- SONARQUBE_JDBC_PASSWORD=sonar\r- SONARQUBE_JDBC_URL=\rports:\r- \u0026#34;9000:9000\u0026#34;\r- \u0026#34;9092:9092\u0026#34;\rdrone:\rrestart: unless-stopped\rimage: drone/drone:0.4.2\rvolumes:\r- /var/drone:/var/lib/drone\r- /var/run/docker.sock:/var/run/docker.sock\renv_file:\r- ./dronerc\rports:\r- \u0026#34;8000:8000\u0026#34;\rlinks:\r- sonarqube After that, we can start the service with docker-compose up -d and see Sonarqube on http://IPADDRESS:9000 (needs some time to load\u0026hellip;).\nTo do an check of i.e. an Java Project, we need to write an new pom.xml file:\n\u0026lt;project xmlns=\u0026#34;http://maven.apache.org/POM/4.0.0\u0026#34; xmlns:xsi=\u0026#34;http://www.w3.org/2001/XMLSchema-instance\u0026#34;\rxsi:schemaLocation=\u0026#34;http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\u0026#34;\u0026gt;\r\u0026lt;modelVersion\u0026gt;4.0.0\u0026lt;/modelVersion\u0026gt;\r\u0026lt;groupId\u0026gt;com.example.appexample\u0026lt;/groupId\u0026gt;\r\u0026lt;artifactId\u0026gt;appexample\u0026lt;/artifactId\u0026gt;\r\u0026lt;version\u0026gt;1.0\u0026lt;/version\u0026gt;\r\u0026lt;name\u0026gt;phpTest\u0026lt;/name\u0026gt;\r\u0026lt;properties\u0026gt;\r\u0026lt;project.build.sourceEncoding\u0026gt;UTF-8\u0026lt;/project.build.sourceEncoding\u0026gt;\r\u0026lt;sonar.language\u0026gt;java\u0026lt;/sonar.language\u0026gt;\r\u0026lt;sonar.sources\u0026gt;src\u0026lt;/sonar.sources\u0026gt;\r\u0026lt;sonar.exclusions\u0026gt;src/test/test.php, src/test/test/*\u0026lt;/sonar.exclusions\u0026gt;\r\u0026lt;/properties\u0026gt;\r\u0026lt;/project\u0026gt; and we need a new .drone.yml\ncache:\rmount:\r- /drone/.m2\rbuild:\rmain:\rimage: maven:3-jdk-8-onbuild\rcommands:\r- mvn sonar:sonar -Dsonar.host.url=http://IPOFTHESONARQUBESERVER:9000 -Dmaven.repo.local=/drone/.m2\r- echo \u0026#34;Sonarqube has been completed.\u0026#34;\r- mvn clean install -Pcoverage -Dmaven.repo.local=/drone/.m2\r- mvn package -Dmaven.repo.local=/drone/.m2\r- mvn test -Dmaven.repo.local=/drone/.m2\r- echo \u0026#34;Build has been completed.\u0026#34;\rdebug: true And thats it :). Login into drone, activate your repo as valid CI repo and after that - with every push to that gogs repo, a new sonarqube analysis should be performed.\n","date":"2016-09-26T08:00:20Z","permalink":"/posts/2016-09-26-docker-sonarqube-with-gogsdrone-to-check-software-quality/","title":"[Docker] Sonarqube with Gogs/Drone to check software quality"},{"content":"If you\u0026rsquo;re working on some dozens of linux servers (or even more than 100,.. as in my case), you end up doing administration via SSH - which is the way to go. And chances are, that you\u0026rsquo;ll get dozens of SSH connections open in dozens of tabs and you did some updates on some of those servers and want to restart this thing with a quick sudo reboot now\u0026hellip;\nI won\u0026rsquo;t lie if I say, it happend more than once that I accidentally rebooted the wrong server - at least that was the case more than a year ago.\nFor the last year, since I have been using Molly-Guard - that did not happen once. Why? Because Molly-Guard does stop the reboot command if it detects that you\u0026rsquo;re issuing it from an SSH console - and asks for the server name. If you\u0026rsquo;re entering it correctly - it will reboot. If you\u0026rsquo;re in a frenzy, doing your \u0026ldquo;sudo reboot now\u0026rdquo; and enter name serverB while you\u0026rsquo;re on serverA - yep, Molly-Guard will stop you from shooting yourself in the leg. Neat, ain\u0026rsquo;t it?\nOh - and the best part? Ease of use:\nsudo apt-get install molly-guard Thats it, you\u0026rsquo;re set, bye.\nNope. Really. No configuration needed. Just install that baby and be safe :)!\n","date":"2016-09-23T08:00:06Z","permalink":"/posts/2016-09-23-ubuntu-use-molly-guard-to-stop-shooting-your-own-leg/","title":"[Ubuntu] Use Molly-Guard to stop shooting your own leg"},{"content":"Now that we have a running Gogs installation for our source code (see here) - we can use Drone to build working software from those repos. Drone is an Continious Integration System, that comes in two flavors: Drone.io - which is the hosted service you could use - or Drone - as self-hosted service. We want to use the later one. To install drone in our existing Docker setup (with gogs already installed) we need to complete following steps:\nCreate docker-compose.yml in ~/drone/ cd ~ mkdir drone cd drone vi docker-compose.yml Copy this content into your docker-compose.yml file drone:\rrestart: unless-stopped\rimage: drone/drone:0.4.2\rvolumes:\r- /var/drone:/var/lib/drone\r- /var/run/docker.sock:/var/run/docker.sock\renv_file:\r- ./dronerc\rports:\r- \u0026#34;8000:8000\u0026#34; Create the dronerc file vi dronerc Copy this content into your dronerc file # replace yourserverip with the ip or dns name of your server, i.e. example.com # replace the gogsport with the port of the http port of the gogs installation, i.e. was 3000 in our example\rREMOTE_DRIVER=gogs\rREMOTE_CONFIG=https://yourserverip:gogsport?open=false\rDEBUG=true Create the needed folders sudo mkdir /var/drone sudo chown -R yourusername:yourusername /var/drone/ After that, an docker-compose up will start the service, you can end it via STRG + C and really start it in deattached mode with docker-compose up -d. You can then go to http://yourserverip:8000 and log in into drone with your gogs login and allow access.\nThe current readme for drone can be found on https://readme.drone.io/usage/overview/ and you\u0026rsquo;ll need to include a .drone.yml in your repos to really build something.\nIn my example, I used this .drone.yml\ncache:\rmount:\r- /drone/.m2\rbuild:\rmain:\rimage: maven:3-jdk-8-onbuild\rcommands:\r- mvn clean install -Pcoverage -Dmaven.repo.local=/drone/.m2\r- mvn package -Dmaven.repo.local=/drone/.m2\r- mvn test -Dmaven.repo.local=/drone/.m2\r- echo \u0026#34;Build has been completed.\u0026#34;\rdebug: true and this pom.xml\n\u0026lt;project xmlns=\u0026#34;http://maven.apache.org/POM/4.0.0\u0026#34; xmlns:xsi=\u0026#34;http://www.w3.org/2001/XMLSchema-instance\u0026#34;\rxsi:schemaLocation=\u0026#34;http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\u0026#34;\u0026gt;\r\u0026lt;modelVersion\u0026gt;4.0.0\u0026lt;/modelVersion\u0026gt;\r\u0026lt;groupId\u0026gt;com.mycompany.app\u0026lt;/groupId\u0026gt; \u0026lt;artifactId\u0026gt;WhereIsMyPi\u0026lt;/artifactId\u0026gt;\r\u0026lt;version\u0026gt;1.0\u0026lt;/version\u0026gt;\r\u0026lt;packaging\u0026gt;jar\u0026lt;/packaging\u0026gt;\r\u0026lt;name\u0026gt;Where is my Pi\u0026lt;/name\u0026gt;\r\u0026lt;url\u0026gt;http://www.nico-maas.de\u0026lt;/url\u0026gt;\r\u0026lt;build\u0026gt;\r\u0026lt;sourceDirectory\u0026gt;src\u0026lt;/sourceDirectory\u0026gt;\r\u0026lt;plugins\u0026gt;\r\u0026lt;plugin\u0026gt;\r\u0026lt;groupId\u0026gt;org.apache.maven.plugins\u0026lt;/groupId\u0026gt;\r\u0026lt;artifactId\u0026gt;maven-compiler-plugin\u0026lt;/artifactId\u0026gt;\r\u0026lt;version\u0026gt;3.5\u0026lt;/version\u0026gt;\r\u0026lt;configuration\u0026gt;\r\u0026lt;source\u0026gt;1.8\u0026lt;/source\u0026gt;\r\u0026lt;target\u0026gt;1.8\u0026lt;/target\u0026gt;\r\u0026lt;/configuration\u0026gt;\r\u0026lt;/plugin\u0026gt;\r\u0026lt;plugin\u0026gt;\r\u0026lt;!-- Build an executable JAR --\u0026gt;\r\u0026lt;groupId\u0026gt;org.apache.maven.plugins\u0026lt;/groupId\u0026gt;\r\u0026lt;artifactId\u0026gt;maven-jar-plugin\u0026lt;/artifactId\u0026gt;\r\u0026lt;version\u0026gt;2.4\u0026lt;/version\u0026gt;\r\u0026lt;configuration\u0026gt;\r\u0026lt;archive\u0026gt;\r\u0026lt;manifest\u0026gt;\r\u0026lt;addClasspath\u0026gt;true\u0026lt;/addClasspath\u0026gt;\r\u0026lt;classpathPrefix\u0026gt;lib/\u0026lt;/classpathPrefix\u0026gt;\r\u0026lt;mainClass\u0026gt;WMP\u0026lt;/mainClass\u0026gt;\r\u0026lt;/manifest\u0026gt;\r\u0026lt;/archive\u0026gt;\r\u0026lt;/configuration\u0026gt;\r\u0026lt;/plugin\u0026gt;\r\u0026lt;/plugins\u0026gt;\r\u0026lt;/build\u0026gt; \u0026lt;/project\u0026gt; to build my \u0026ldquo;WhereIsMyPi\u0026rdquo; project :).\nHappy building!\n","date":"2016-09-19T08:00:38Z","permalink":"/posts/2016-09-19-docker-ci-with-drone-and-gogs/","title":"[Docker] CI with Drone and Gogs"},{"content":"We got an Apache 2, working as Reverse Proxy to some Docker instances (we won\u0026rsquo;t talk about the nginx vs Apache stuff here for the same reasons we won\u0026rsquo;t talk about vi vs emacs vs xyz ;)) - and somehow we realized that our apps are a little bit too sensitive to allow them from any ip.\nFirst, we want to activate the needed modules. Normally that should not be necessary, but for sake of completeness:\nsudo a2enmod mod_authz_core\rsudo a2enmod mod_authz_host Secondly, we want to allow them only from trusted ips. We do redirect them to the docker instances via ProxyPass - but need to create an Location / \u0026ldquo;catcher\u0026rdquo; - otherwise we could not use the mod_authz to deny other ips :).\n\u0026lt;VirtualHost *:80\u0026gt;\rServerAdmin johndoe@example.com\rServerName hex.example.com\rServerAlias hex\rRedirectMatch ^/$ https://example.com\r\u0026lt;Location / \u0026gt;\r\u0026lt;RequireAll\u0026gt;\rRequire ip 192.168.1.0/24 192.168.2.0/24 192.168.3.0/24\r\u0026lt;/RequireAll\u0026gt;\r\u0026lt;/Location\u0026gt;\rProxyPass \u0026#34;/\u0026#34; \u0026#34;http://127.0.0.1:8020/\u0026#34;\rProxyPassReverse \u0026#34;/\u0026#34; \u0026#34;http://127.0.0.1:8020/\u0026#34;\r\u0026lt;/VirtualHost\u0026gt;\r\u0026lt;VirtualHost *:443\u0026gt;\rServerAdmin johndoe@example.com\rServerName hex.example.com\rServerAlias hex\r\u0026lt;Location / \u0026gt;\r\u0026lt;RequireAll\u0026gt;\rRequire ip 192.168.1.0/24 192.168.2.0/24 192.168.3.0/24\r\u0026lt;/RequireAll\u0026gt;\r\u0026lt;/Location\u0026gt;\rProxyPass \u0026#34;/\u0026#34; \u0026#34;http://127.0.0.1:8020/\u0026#34;\rProxyPassReverse \u0026#34;/\u0026#34; \u0026#34;http://127.0.0.1:8020/\u0026#34;\r# Alias /static /srv/example_sw/sw/public_html/\rSSLEngine on\rSSLCertificateFile /etc/ssl/certs/hex.example.com.pem\rSSLCertificateKeyFile /etc/ssl/private/hex.example.com.key\rSSLCertificateChainFile /etc/ssl/chains/example-ca-chain.pem\r\u0026lt;/VirtualHost\u0026gt; That way, hosts from other subnets than 192.168.1.0, 2.0 and 3.0 won\u0026rsquo;t be able to access the proxy and therefore our app :)!\n","date":"2016-09-12T10:36:40Z","permalink":"/posts/2016-09-12-ubuntu-secure-your-apache-2-reverse-proxy/","title":"[Ubuntu] Secure your Apache 2 Reverse Proxy"},{"content":"A little cheat sheet for myself. All commands can be used via SSH or Shell:\nShow Config: show run\nShow Inventory: show inventory (Does show i.e. how many CPUs and RAM is installed. This does match normally to the Version of Cisco Prime. i.E. 8 vCPUs and 16 GB RAM -\u0026gt; Express Plus Type)\nShow status of prime: ncs status\nBackup OS and Application: backup PI311 repository defaultRepo\nBackup Application only: backup PI311appOnly repository defaultRepo application NCS\nActivate OS Shell: shell\nLocations of different files\ndefaultRepo: /localdisk/defaultRepo\nConfig: /storedconfig\nLicense Files: /opt/CSCOlumos/licenses\nTo transfer the backup files to a safe place, just use scp :).\n","date":"2016-08-12T07:18:30Z","permalink":"/posts/2016-08-12-cisco-prime-infrastructure-3-1-cheat-sheet/","title":"Cisco Prime Infrastructure 3.1 Cheat Sheet"},{"content":"Chances are you going to need an radius Auth over WAN - because your Radius and Identity Mngmnt is hosted in the security of the local datacenter of your corp\u0026hellip; but the client (i.e. an network switch) is somewhere over the rainbow WAN. You could just pipe the radius traffic over the internet - but there be dragons: radius communication is unencrypted. So\u0026hellip; just no.\nEnter radsecproxy: Radsecproxy is - as the name implies, an radius proxy - which needs to be installed on both servers (the local one in your company, now called SERVER, and the remote one with the switch attached, now called CLIENT) - and does encrypt the communication between both server parts (over WAN i.e.) via TLS.\n1.) Install radsecproxy on Server ( sudo apt-get install radsecproxy )\n2.) Create CA with generate-CA.sh (in /etc/radsecproxy/) [ https://github.com/owntracks/tools/blob/master/TLS/generate-CA.sh - please change keybits to 4096 bits, thanks! ]\n3.) Create Certs (Server, Client) with generate-client.sh (in /etc/radsecproxy/) [ at the end of this post, http://rockingdlabs.dunmire.org/exercises-experiments/ssl-client-certs-to-secure-mqtt - please change keybits to 4096 bits as well! 🙂 ]\n4.) Configure /etc/radsecproxy.conf [UPPERLETTERS are constants which you need to change]\n# Master config file for radsecproxy\rsourceTLS IPADDR_OF_SERVER\rlistenTLS IPADDR_OF_SERVER:2083\rLogLevel 3\rLogDestination file:///var/log/radsecproxy/radsecproxy.log\rLoopPrevention on\rtls default {\rCACertificateFile /etc/radsecproxy/ca.crt\rCertificateFile /etc/radsecproxy/SERVER_NAME_FQDN.crt\rCertificateKeyFile /etc/radsecproxy/SERVER_NAME_FAQN.key\r}\rclient CLIENT_NAME {\rhost IPADDR_OF_CLIENT\rtype tls\rcertificatenamecheck off\rsecret PW_OF_CLIENT_RADSEC\r}\rserver SERVER_NAME_auth {\rhost IPADDR_OF_SERVER:1812\rtype udp\rStatusServer on\rsecret PW_OF_SERVER_FOR_RADIUS\r}\rserver SERVER_NAME_acct {\rhost IPADDR_OF_SERVER:1813\rtype udp\rStatusServer on\rsecret PW_OF_SERVER_FOR_RADIUS\r}\rrealm * {\rserver SERVER_NAME_auth\raccountingserver SERVER_NAME_acct\r}\r# example config for localhost, rejecting all users\rclient 127.0.0.1 {\rtype udp\rsecret TEST_SECRET\r}\rrealm * {\rreplymessage \u0026#34;User unknown\u0026#34;\r} 5.) sudo service radsecproxy restart\n6.) Install radsecproxy on Client ( sudo apt-get install radsecproxy )\n7.) Copy client cert and ca.crt to Client /etc/radsecproxy\n8.) Configure /etc/radsecproxy.conf [UPPERLETTERS are constants which you need to change]\n#sourceUDP 127.0.0.1\rsourceUDP IPADDR_OF_CLIENT\rlistenUDP *:1812\rlistenUDP *:1813\rLogLevel 3\rLogDestination file:///var/log/radsecproxy/radsecproxy.log\rLoopPrevention on\rtls default {\rCACertificateFile /etc/radsecproxy/ca.crt\rCertificateFile /etc/radsecproxy/CLIENT_NAME_FQDN.crt\rCertificateKeyFile /etc/radsecproxy/CLIENT_NAME_FQDN.key\r}\rclient CLIENT_NAME {\r#host 127.0.0.1\rhost IPADDR_OF_CLIENT\rtype udp\rsecret CLIENT_RADIUS_SECRET\r}\rclient SWITCH_NAME {\rhost SWITCH_IP\rtype udp\rsecret SWITCH_RADIUS_SECRET\r}\rserver SERVER_NAME {\rcertificatenamecheck off\rhost IPADDR_OF_SERVER\rtype tls\rStatusServer on\rsecret PW_OF_CLIENT_RADSEC\r}\rrealm * {\rserver SERVER_NAME\raccountingserver SERVER_NAME\r}\r# example config for localhost, rejecting all users\rclient 127.0.0.1 {\rtype udp\rsecret TEST_SECRET\r}\rrealm * {\rreplymessage \u0026#34;User unknown\u0026#34;\r} 9.) sudo service radsecproxy restart\n10.) If you now point your switches to the CLIENT_IP with the correct credential, it should go via the radsecproxy to your main radius server and get the connection working. Please pay attention that on your CLIENT site no radiusd daemon is allowed to run, as it would block the ports needed for radsecproxy / radius. Make use of the radsecproxy log files to see, wheter the two radsecproxy servers do connect and talk to each other :).\n","date":"2016-06-27T11:51:44Z","permalink":"/posts/2016-06-27-ubuntu-radsecproy-for-secure-radius-over-wan/","title":"[Ubuntu] Radsecproy for secure Radius over WAN"},{"content":"Today, I want to do my first review on this blog, concerning the Western Digital / WD Labs PiDrive 314GB. I received this nice little drive from the guys over at PiAndMore as a gift for my three presentations at the PiAndMore 9 (among other loot ;)). So, what is this PiDrive and what is so special about it? Well it is in fact a small 2.5 HDD with integrated Sata to USB 3.0 Controller (with the matching \u0026ldquo;two-piece\u0026rdquo; connector). It was specially designed by WD to work with the Raspberry Pi Series and gives the RPi 314 GB of space (hence the name PiDrive - however, there is an 1 TB Version available as well).\nSo what did I get?\nThe PiDrive itself, a USB Micro to USB A Connector cable, as well as a power brick. Unfortunately, the power brick turned out to be a UK Version, not a German one, so I needed to get an adapter for that. The Brick itself was a beefy (2A@5V) supply, probably meant to power the RPi and PiDrive at the same time.\nI loved the \u0026ldquo;Pi\u0026rdquo; finish at the package.\nThe package itself included the PiDrive (wrapped in a antistatic bag, already removed here ;)) and an business card with some tips on \u0026ldquo;getting started\u0026rdquo;\nThe Drive itself - small, lightweight and quite nice to look at.\nOk, after unpacking, I did some \u0026ldquo;Google Research\u0026rdquo; as I normally do when it comes to Harddisks and SSDs. A bunch of people (mostly with 1 TB Versions) already explained they were having problems with the Firmware of the Drive and that there already were an update available. So to not get into problems myself, I turned to WDs Support Website (https://support.wdc.com/downloads.aspx?lang=en) and downloaded the \u0026ldquo;WD Universal Firmware Updater for Windows\u0026rdquo;. I plugged the included USB Micro Cable into the PiDrive and connected it to my Laptop and saw that this Drive also got an REALLY BRIGHT white LED as Status Indicator. However, the LED was blinking on/off continuously and I decided that the Drive probably did not got enough juice from the one USB Port. So I combined an old 2.5 HDD cable (USB A to 2x USB A Y Cable) with an USB Micro OTG Cable, so that I got 2x USB A connectors on the one side (which plugged into my Laptop) and the USB Micro connector on the other side, which connected to the PiDrive. Now I got an steady white lit LED - and I could find the Drive in the Device Manager. After I fired up the Firmware Updater, I directly got the info about a new firmware [1.0.12] and got the drive flashed. Everything went fine :).\nSo, from that point on, I wanted to use the Drive with one of my Raspberry Pis. As I still got some old RPi Model B, v2.0, I tried to give it a try - but it did not work. The LED was just flashing again, and it seems like I would need an active USB Hub or my special cable to get it working [it did also not show up in dmesg or blkid]. Then I realized, that I already had seen a special connector cable from WD (this one: http://wdlabs.wd.com/products/raspberry-pi-accessories/#pidrive_cable) which had sadly not been sent to me. This cable does directly plug into the power brick and does power up the RPi as well as the PiDrive, so that the RPi did not need to supply about 1 A via the USB port to the PiDrive. Bummer.\nNext thing I saw, was the max_usb_current=1 which had to be added to the /boot/config.txt on the RPi card. This - however, does only work from RPi+ Modells on onwards (so RPi A+/B+, RPi 2 B) and should not be needed on the RPi 3, as this is already \u0026ldquo;on by default\u0026rdquo;. Why does this only works on that versions? They got an little Mosfet included there to GPIO 38 which does activate a kind of \u0026ldquo;high power mode\u0026rdquo; for the USB controller. So to see wheter your little modification did work, just try gpio -g read 38 and 1 will tell you, that it worked. An lsusb -v 2\u0026gt;/dev/null | grep -e 'MaxPower' -e 'Bus [0-9]' will also tell you, how much power every device on the RPi draws (Thanks to https://www.raspberrypi.org/forums/viewtopic.php?f=28\u0026t=105502\u0026start=25).\nSo, after I saw that my RPi 3 got its max_usb_current enabled, I rebooted it with the PiDrive attached to the included USB cable. However, the Drive LED did also blink like on the RPi B v2.0, which was really strange. And it did also not show up in the blkid nor in dmesg. So I did unconnect the PiDrive and used an TeckNet 0.3m USB Micro USB cable - and voilá - it worked right out of the box! With sudo blkid I could see my connected drive and did find out that it already had been mounted to /media/USERNAME/WD_PiDrive_314GB.\nSo, I did not yet do any speed tests and stuff, but I am pretty happy with this little drive. I am really looking forward to play with it a little bit more. Is it worth the price? Probably. I really like WD drives, I make really good use of WD Blues in my Desktops, WD Greens in some Backup Systems and WD Reds in my NAS/Small Servers. I never had any problems with WD Drives and so I am looking forward to a \u0026ldquo;nice smooth ride\u0026rdquo; with this HDD (hopefully ;)) as well.\nThanks a lot for Western Digital to giving these PiDrives out :)!\nMore infos about i.e. the Berry Boot can be found here: httpd://wdlabs.wd.com/Support/#berryboot / https://www.berryterminal.com/doku.php/berryboot, as well as some nice step-by-step setup in there forums: https://community.wd.com/t/how-to-install-raspbian-on-pidrive-using-windows-pc-step-by-step/134723\n","date":"2016-06-16T13:38:26Z","permalink":"/posts/2016-06-16-review-western-digital-wd-labs-pidrive-314gb/","title":"[Review] Western Digital WD Labs PiDrive 314GB"},{"content":"Here is my presentation to resin.io @ PiAndMore 9 (Trier, 11.06.2016)\nresinio_PiAndMore9.pdf (1,03 MB, PDF)\nVideorecording of the talk can be found here\n","date":"2016-06-12T15:11:46Z","permalink":"/posts/2016-06-12-piandmore-resin-io-presentation/","title":"[PiAndMore] resin.io Presentation"},{"content":"Here is my presentation to platformIO @ PiAndMore 9 (Trier, 11.06.2016)\nplatformIO_PiAndMore9.pdf (830 KB, PDF)\nVideorecording of the talk can be found here\n","date":"2016-06-11T15:00:52Z","permalink":"/posts/2016-06-11-piandmore-platformio-presentation/","title":"[PiAndMore] platformIO Presentation"},{"content":"My Docker 101 presentation @ SaarCamp 2016 (04.06.2016).\nDocker_Saarcamp2016.pdf (0,56 MB, PDF).\nSourcecode / Example can be found on https://github.com/nmaas87/docker-demo\n","date":"2016-06-04T20:55:22Z","permalink":"/posts/2016-06-04-talk-docker-grundlagen/","title":"[Talk] Docker Grundlagen"},{"content":"Here is my presentation to the Raspberry Pi Einführung und Grundlagen @ PiAndMore 9 (Trier, 11.06.2016)\nRPiEinführungUndGrundlagen_PiAndMore9 (7 MB, PDF)\n","date":"2016-06-04T20:54:59Z","permalink":"/posts/2016-06-04-piandmore-raspberry-pi-einfuhrung-presentation-3/","title":"[PiAndMore] Raspberry Pi Einführung und Grundlagen Presentation"},{"content":"As a network admin, you\u0026rsquo;re going to have at least one Freeradius running, mostly for 802.1x authentication. At my place the problem arised, that the service was down too often - for different reasons.\n1.) Logrotate\nIf you\u0026rsquo;re using logrotate, you should check out /etc/logrotate.d/freeradius:\n/var/log/freeradius/*.log {\rweekly\rrotate 52\rcompress\rdelaycompress\rnotifempty\rmissingok\rpostrotate\rinvoke-rc.d freeradius reload \u0026amp;gt;/dev/null 2\u0026amp;gt;\u0026amp;1 || true\rendscript\r} Logrotate does restart freeradius after it swapped the logs with reload, which often results in a crash or race condition (freeradius does not shutdown fast enough, and the restarting process thinks it already got one running process - and both terminate). So to change that, you should stop the process, wait, and start again.\n/var/log/freeradius/*.log {\rweekly\rrotate 52\rcompress\rdelaycompress\rnotifempty\rmissingok\rpostrotate\rinvoke-rc.d freeradius stop \u0026amp;gt;/dev/null 2\u0026amp;gt;\u0026amp;1 || true\rsleep 5\rinvoke-rc.d freeradius start \u0026amp;gt;/dev/null 2\u0026amp;gt;\u0026amp;1 || true\rendscript\r} 2.) Monit\nmonit is an monitoring programm which checks wheter a service is still running.\nInstall via: sudo apt-get install monit\nConfigure:\nvi /etc/monit/conf.d/freeradius\rcheck process freeradius with pidfile \u0026#34;/var/run/freeradius/freeradius.pid\u0026#34;\rstart program \u0026#34;/etc/init.d/freeradius start\u0026#34;\rstop program \u0026#34;/etc/init.d/freeradius stop\u0026#34;\rif failed host 127.0.0.1 port 1812 type udp protocol radius secret RADIUSSECRET then alert\rif failed host 127.0.0.1 port 1813 type udp protocol radius secret RADIUSSECRET then alert\rif 5 restarts within 5 cycles then timeout\rsudo service monit restart You should change the RADIUSSECRET to the one of your freeradius.\n","date":"2016-05-20T08:00:43Z","permalink":"/posts/2016-05-20-ubuntu-freeradius-improve-uptime/","title":"[Ubuntu] Freeradius: Improve Uptime"},{"content":"This little tutorial describes how to use Letsencrypt with Apache, Freeradius and Auto-Renewal of the Certificates.\nInstall Letsencrypt sudo apt-get update sudo apt-get install git cd /opt sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt cd /opt/letsencrypt\r# Become root sudo su\r# \u0026#34;Order\u0026#34; certificates (replace SERVERDOMAIN.COM with the DNS of your Server!) ./letsencrypt-auto --apache -d SERVERDOMAIN.COM --rsa-key-size 4096 Enter Contact Mail: mail@SERVERDOMAIN.COM Configuration Type: Secure #is best, as it does redirect insecure http to https)\r# Read PATH variable echo $PATH\r# Cronjob for certificate renewal #you should under all circumstances replace the string following PATH= with your own, as read with the command above. #Seperate with ; from the rest of the command like shown in the example crontab -e\r# letsencrypt\r30 2 * * 1 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games;/opt/letsencrypt/letsencrypt-auto renew \u0026amp;gt;\u0026amp;gt; /var/log/le-renew.log\r35 2 * * 1 /etc/init.d/freeradius restart\r35 2 * * 1 /etc/init.d/apache2 restart Configure Freeradius cp -r /etc/freeradius/certs/ /etc/freeradius/certs_bkp rm /etc/freeradius/certs/*.pem cp /etc/freeradius/eap.conf /etc/freeradius/eap.conf_bkp\rvi /etc/freeradius/eap.conf\r#certdir = ${confdir}/certs\r#cadir = ${confdir}/certs\rcertdir = /etc/letsencrypt/live/SERVERDOMAIN.COM\rcadir = /etc/letsencrypt/live/SERVERDOMAIN.COM\r#dh_file = ${certdir}/dh\rdh_file = ${confdir}/certs/dh\r#private_key_password = whatever\rprivate_key_file = ${certdir}/privkey.pem\rcertificate_file = ${certdir}/cert.pem\rCA_file = ${cadir}/fullchain.pem\r# Configure access rights on /etc/letsencrypt cd /etc/letsencrypt/ chgrp -R ssl-cert archive csr keys live options-ssl-apache.conf renewal # set group of cert/key dirs to ssl-cert find . -type d -exec chmod g+xs {} \\; # directories executable and setguid (set group ssl-cert for new files/dirs) find . -type f -exec chmod g+r {} \\; # files readable\r# Restart Freeradius service freeradius stop service freeradius start Additional infos: https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-14-04\n","date":"2016-05-16T08:00:53Z","permalink":"/posts/2016-05-16-ubuntu-letsencrypt-with-apache-and-freeradius/","title":"[Ubuntu] Letsencrypt with Apache and Freeradius"},{"content":"If you\u0026rsquo;re using Docker, you know you will need to update these containers from time to time by hand. Mostly with an docker pull repo/DockerContainerName and an docker-compose up -d. If you want to automate this, you can now use Watchtower: https://github.com/CenturyLinkLabs/watchtower\nUsing it, is very easy. Just run following command to let all your containers automatically update via watchtower:\ndocker run -d \\\r--name watchtower \\\r-v /var/run/docker.sock:/var/run/docker.sock \\\rcenturylink/watchtower If you want choosen containers to be updated, include the names of the running containers as arguments, i.e.:\ndocker run -d \\\r--name watchtower \\\r-v /var/run/docker.sock:/var/run/docker.sock \\\rcenturylink/watchtower gogs_gogs_1 drone_drone_1 This Info was brought to you by Christopher Perrin @ https://blog.screebo.net/ ;).\n","date":"2016-05-12T08:00:59Z","permalink":"/posts/2016-05-12-docker-keep-docker-container-up-to-date-with-watchtower/","title":"[Docker] Keep Docker Container up-to-date with Watchtower"},{"content":"Due to some serious power outages, I had to install an UPS at the Office of one client. It is an rather small setup: One low-power Ubuntu Server, one Laptop with one TFT Screen, one i3 Desktop with two TFT Screens, one network switch. All in all, about 400VA. I had an old APC Smart UPS 750 VA at hand and used it. Idea was to connect the UPS via USB directly to the Server and hook Laptop and Desktop to that Server via Network. As soon as the Server found that the whole Powergrid went offline, all pcs should shutdown automatically: Enter apcupsd.\nPower installation:\nConnect the UPS input to the power grid, connect the UPS out to your PCs. NEVER CONNECT ANY LASER PRINTER TO THAT OUTPUT! Power up the UPS.\nServer installation:\nConnect the UPS USB Port to the Server.\nInstall apcupsd:\nsudo apt-get install apcupsd Configure apcupsd:\nsudo vi /etc/apcupsd/apcupsd.conf In my case I configured that settings:\nUPSNAME blaUPS # How you want to name your ups UPSCABLE smart # in my case, it is a smart cable UPSTYPE usb # on usb POLLTIME 60 # poll ups every 60 seconds ONBATTERYDELAY 10 # delay alarm for 10 seconds BATTERYLEVEL 10 # on less than 10 percent battery level shutdown server MINUTES 3 # on less than 3 minutes battery runtime shutdown server NETSERVER on # activate network server NISIP 0.0.0.0 # allow access from all nics NISPORT 3551 # default port for network server Allow port 3551, tcp through iptables!\nRestart apcupsd:\nsudo service apcupsd restart Give status of current apcupsd session:\nsudo service apcupsd status Client installation on Windows:\nDownload latest version for Windows (i.e. winapcupsd-3.14.13.exe), you only need apcupsd Service and Tray Applet.\nLeave everything on default on setup and configure apcupsd.conf\nUPSNAME blaUPS # How you want to name your ups UPSCABLE ether # network to server UPSTYPE net # on network DEVICE IP:3551 # for IP, enter the IP of the server POLLTIME 15 # poll ups every 15 seconds ONBATTERYDELAY 10 # delay alarm for 10 seconds BATTERYLEVEL 20 # on less than 20 percent battery level shutdown client MINUTES 3 # on less than 3 minutes battery runtime shutdown client NETSERVER on # activate network server NISIP 127.0.0.1 # allow access only from localhost And thats it 🙂\n","date":"2016-05-10T14:47:33Z","permalink":"/posts/2016-05-10-ubuntu-networked-ups-with-apcupsd-apc-750-and-windows/","title":"[Ubuntu] Networked UPS with apcupsd, APC 750 and Windows"},{"content":"real-time operator was an project of Melanie Windl, an artist from the University of Mainz, Germany on which I helped as technical advisor and programmer. The idea of the project was to live-record sounds from the staircase of the Tokyo Wondersite and replay them using different filters on multiple ballons (using exciters). The project was realised using three Raspberry Pi, Modell B+, some USB Soundcards and PureData. You can find more about the project here: https://atelier-windl.com/portfolio/real-time-operator-2/\nFestival / Festival\nreal-time operator\n09.01.-07.02.2016\nTokyo Wonder Site Hongo\n2-4 16 Hongo, Bunkyo-ku, Tokyo 113-0033, Japan\nA short video showing the project can be found here\n","date":"2016-02-08T10:46:23Z","permalink":"/posts/2016-02-08-art-real-time-operator/","title":"[Art] real-time operator"},{"content":"I was looking for the free VMware Player, which was available for quite some time.\nTurned out, the free Player still exists - but is now called \u0026ldquo;VMware Workstation Player (formerly known as Player Pro)\u0026rdquo;.\nIf you got to this website: http://www.vmware.com/products/player/ - you will find a lot of text about some paid version - but if you look up closely to the last paragraph \u0026ldquo;VMware Workstation 12 Player Free for Personal Use\u0026rdquo; - you will find the text \u0026ldquo;environment you may use Workstation 12 Player at no cost.\nDownload Workstation 12 Player for personal use.\u0026rdquo; - and the \u0026ldquo;Download\u0026rdquo; writen in faint blue color - yep - that is a somehow hidden link. Click it! ( Hint: https://my.vmware.com/en/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/12_0 ) - And there you will be able to download the latest version for free.\nBonus: The compatible VIX 1.15.2 API can be found here: https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/12_0|PLAYER-1210|drivers_tools\nUpdate: For VMware Player 14, the link changed to: https://my.vmware.com/en/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/14_0\n","date":"2016-01-27T19:00:36Z","permalink":"/posts/2016-01-27-where-can-i-find-the-free-vmware-player/","title":"Where can I find the free VMware Player?"},{"content":"Gogs (Go Git Service) is an awesome Github/Gitlab like solution, completly written in Go(lang) - which makes it blazing fast - and lightweight.\nAnd as there is even an Docker Container of Gogs available - I thought - why not using this to finally move from my SSH-only-Git to an \u0026ldquo;real\u0026rdquo; Gitservice :).\nWe are going to use docker-compose in this example - so I assume you have installed this as shown in my last guide on Docker.\n# Create docker-compose.yml in ~/gogs/ cd ~ mkdir gogs cd gogs vi docker-compose.yml # Copy this content into your docker-compose.yml file\rgogs:\rrestart: unless-stopped\rimage: gogs/gogs\rvolumes:\r- /var/gogs:/data\rports:\r- \u0026#34;10022:22\u0026#34;\r- \u0026#34;3000:3000\u0026#34; After that save the file and issue docker-compose up in your terminal. Docker will start to pull the gogs image from the hub and launching gogs. All your gogs files will be saved on your local drive in /var/gogs. You can find the overview of the file structure here.\nAfter Docker is ready - launching your favorite browser and go to http://127.0.0.1:3000.\nNow its time to configure gogs. Please bear in mind the important information of the Gogs Guide regarding Settings in a Docker installation.\nRegarding this, we will use following settings:\nAs Database type, we choose SQLite3. As path, already data/gogs.db is choosen, which is important: A Docker Container is non-persistent - so if you restart that container, all files not saved in a mounted directory (like your /var/gogs, which is mounted as data in the docker session of gogs\u0026hellip;) will be lost.\nAs name, we choose something catchy like PiGit or so - as you wish.\nWe won\u0026rsquo;t touch the repo path (/data/git/gogs-repositories), nor the user (git). As Domain, we could choose our http://mydnshost.com.\nAs SSH Port, we choose 10022. HTTP Port remains as 3000 and the application domain should be something like http://mydnshost.com:3000 - while 3000 is the exposed HTTP port - so someone can actually access your Gogs service.\nYou can also configure your mail server - as you wish.\nRegarding the server and additional settings, I did choose the Offline Mode, but enabled Gravatar, disabled User Registration and Captchas and I did enable \u0026ldquo;Need to be registred to see contents\u0026rdquo; - as I want my Gogs Server to be actually reachable from the net - but I only want to create user accounts by hand - and not have my server filed with stuff of foreign people.\nThe last step is to create an Admin User Account. I would recommend to do this \u0026ldquo;now\u0026rdquo;. After that, click \u0026ldquo;Install Gogs\u0026rdquo;. And then - you can login :)!\nThe cool thing about gogs: You can even migrate from other Git Services to your new Gogs Server via the \u0026ldquo;Migration\u0026rdquo; Tab (+ next to your User Icon after you have logged in). Please bear in mind, that only http/https and local paths do work for that.\nIf you create a new repo, you should always check the \u0026ldquo;Init the repo\u0026rdquo;, so that you can directly clone and use it.\nRegardings cloning: You can access your repo via the webpage (ip:3000) or ssh (ip:10022). To use ssh, you need to insert your public key in the \u0026ldquo;SSH Key\u0026rdquo; tab in your gogs settings.\nIf you expose the 3000 and 10022 ports via your Firewall/Router, you can access gogs from everywhere - or you just use VPN to get into your network.\nBonus: Making Gogs Secure with Letsencrypt\nIf you already have an Letsenrcypt certificate for your server / pc, you can easily get gogs to use that: Just go to /var/gogs/gogs/data and copy your fullchain.pem and privkey.pem from your letsencrypt folder ( /etc/letsencrypt/live/[yourdomain]/ ) and give your user access to it via chown.\nAfter that, go to /var/gogs/gogs/conf open app.ini and add following settings under [server]:\nPROTOCOL = https CERT_FILE = data/fullchain.pem KEY_FILE = data/privkey.pem If there should be another entry like PROTOCOL = http, just delete it. Save that file, go back to your open docker terminal with gogs running, CTRL + C and enter docker-compose up -d. With that, it will restart in detached mode. And more important: Your service will automatically start on every reboot of your system.\nIf you ever would need to stop gogs, just go again to your docker-compose file, i.e. cd ~/gogs/ and enter docker-compose stop.\nYou can also watch what your docker container is doing with the command docker ps\nHappy coding!\n","date":"2016-01-21T19:00:51Z","permalink":"/posts/2016-01-21-docker-install-gogs-as-docker-container/","title":"[Docker] Install Gogs as Docker container"},{"content":"As some of you know, I am trying to learn to use Docker.\nI love the simplicity of this tool and the fact that a lot of my Appliances could be built and mainted more efficiently with the use of it.\nSo I thought \u0026ldquo;Well, I should at least try to create some useful Images for the Docker Registry / Hub\u0026rdquo; - and so I came up with the Github Repo of https://github.com/x-drum/docker-openwrt which I could not help - but fork ;). So, x-drum showed an easy way to build x86 Images for 14.07 and 15.05 OpenWRT.\nAnd I thought \u0026ldquo;well, lets extend that\u0026rdquo;. So now, we also got 12.09 OpenWRT x86, as well as trunk x86\u0026hellip; and while I was doing some research, I slapped the x64 Versions for trunk and 15.05 on as well :).\nBut wait - somethings missing - yeah: We need some Raspberry Pi Stuff ;):\nThe guys over at Hypriot did an really awesome job with creating Hypriot OS - basically an bootable Image for RPi1/2 to use a recent Version of Docker :). But - truth been told - they already created some special RPi (ARM) Images on the Docker Hub - but\u0026hellip; it would be nice to get some more base images to play with\u0026hellip;\nSo I basically used Hypriot OS on a RPi 1 to create the OpenWRT 12.09, 14.07, 15.05 and Trunk Docker Images - and on a RPi 2 to create OpenWRT 15.05 and Trunk Docker Images.\nThe RPi 1 Images are also usable on a RPi 2 - so I recommend to use them. RPi 2 Images are only usable on a RPi 2 :).\nEverything can be grabbed from my Github Repo:https://github.com/nmaas87/docker-openwrt or directly on Docker Hub.\nThe x86/x64 Images can be found on https://hub.docker.com/r/nmaas87/docker-openwrt, while the RPi 1 and RPi 2 Images are here: https://hub.docker.com/r/nmaas87/rpi-openwrt/.\nHave fun :)!\n","date":"2016-01-19T19:00:55Z","permalink":"/posts/2016-01-19-docker-openwrt-images-for-x86-x64-raspberry-pi-and-raspberry-pi-2/","title":"[Docker] OpenWRT Images for x86, x64, Raspberry Pi and Raspberry Pi 2"},{"content":"Here is my presentation to the Raspberry Pi Einführung @ PiAndMore 8 (Trier, 16.01.2016)\nRPiEinführung_PiAndMore8.pdf (4,42 MB, PDF)\nVideorecording of the talk can be found here\n","date":"2016-01-16T12:30:27Z","permalink":"/posts/2016-01-16-piandmore-raspberry-pi-einfuhrung-presentation-2/","title":"[PiAndMore] Raspberry Pi Einführung Presentation"},{"content":"Ok, an little update on the PiZero Cluster Front:\nNow, that OTG is compiled directly into the \u0026ldquo;next\u0026rdquo; kernel of RPi, we can use the OTG USB Virtual Ethernet directly - which makes it a lot easier. So I updated this :).\nPreparing Minibian Jessie Image\nI used some old Appliance Image I created from an Minibian Wheezy Image (https://minibianpi.wordpress.com/) earlier this year - for the 1.) section on the RPi Modell B pre 2.0 and RPi Modell A+. For the 2.) section, I used an special Appliance Image I made from an Minibian Jessie Image. However, I will document needed changes here, to get it running from any source. I recommend the Minibian Jessie Image as starting point, with this changes: apt-get update\rapt-get install -y raspi-config keyboard-configuration\rraspi-config\r# Default Configuration and Expand Filesystem using raspi-config\r# Enter Finish and press Yes on Reboot the Device\rapt-get install -y rpi-update sudo\rapt-get -y dist-upgrade\rreboot\rrpi-update\rreboot\r# Create Default User pi\radduser pi\r# Enter Password as wanted, i.e. raspberry\r# Add user to default groups\rusermod -a -G pi,adm,dialout,cdrom,audio,video,plugdev,games,users pi\r# Add sbin Paths to pi\recho \u0026#39;export PATH=\u0026#34;$PATH:/sbin:/usr/sbin:usr/local/sbin\u0026#34;\u0026#39; \u0026gt;\u0026gt; /home/pi/.bashrc\r# Add user to sudo\rvisudo\r# Add under\r# # User privilege specification\r# root ALL=(ALL:ALL) ALL\rpi ALL=(ALL:ALL) ALL\r# Save and Exit\rreboot\r# Disable root login\rsudo passwd -l root or - and default RPi Jessie Image.\nBuilding mpich 3 # Update and Install Dependencies, then reboot\rsudo apt-get update\rsudo apt-get -y dist-upgrade\rsudo apt-get install -y build-essential\rsudo reboot\r# Make MPICH 3.2\rcd ~\rwget http://www.mpich.org/static/downloads/3.2/mpich-3.2.tar.gz\rtar -xvzf mpich-3.2.tar.gz\rcd mpich-3.2\r# This will take some time\rsudo ./configure --disable-fortran\r# This will take several cups of tea ;)\rsudo make\rsudo make install # Create SSH on Master, distribute to Workers cd ~\rssh-keygen -t rsa –C \u0026#34;raspberrypi\u0026#34; Default location should be set to /home/pi/.ssh/id_rsa if you\u0026rsquo;re using the standard user pi. Then choose this command to distribute the key to all your \u0026ldquo;worker maschines\u0026rdquo;: cat ~/.ssh/id_rsa.pub | ssh pi@IP_OF_WorkerS \u0026quot;mkdir .ssh;cat \u0026gt;\u0026gt; .ssh/authorized_keys\u0026quot; ( Was taken from http://www.southampton.ac.uk/~sjc/raspberrypi/ - he was the original father of the RPi Clusters and his work inspired me already years ago - so please read and support his work :)! Additional infos can be found at https://westcoastlabs.blogspot.co.uk/2012/06/parallel-processing-on-pi-bramble.html) You could also just cat ~/.ssh/id_rsa.pub \u0026gt;\u0026gt; ~/.ssh/authorized_keys to your own authorized files, shutdown your Master Pi after that and clone the card several times for all your Clients. This way, you would only need to do the work once - however, maybe you should release the keys in ~/.ssh/ so that only your Master Pi could command the Workers\nPiZero on Virtual Ethernet\nI build my MPICH as mentioned in 1) on an Minibian Jessie image (SDCard running on an RPi B). Then I installed the new RPi Kernel and prepared the image for OTG Ethernet, using the new information provided by NicoHood: #install new kernel with OTG support\rsudo BRANCH=next rpi-update\r# This is required in the config.txt\recho \u0026#34;device_tree=bcm2708-rpi-zero.dtb\u0026#34; | sudo tee -a /boot/config.txt\r# Regarding the readme this is applied automatically for a pi zero (and yes it works without) - so not really needed\r# echo \u0026#34;dtoverlay=dwc2\u0026#34; | sudo tee -a /boot/config.txt\r# Only use this, if the new kernel causes sd card errors\r# echo \u0026#34;dtoverlay=mmc\u0026#34; | sudo tee -a /boot/config.txt\r# permanently add the g_ether (or any other) module, add it to /etc/modules\recho \u0026#34;dwc2\u0026#34; | sudo tee -a /etc/modules\recho \u0026#34;g_ether\u0026#34; | sudo tee -a /etc/modules\r# Add settings to network interfaces\recho \u0026#39;\rallow-hotplug usb0\riface usb0 inet static\raddress 192.168.7.2\rnetmask 255.255.255.0\rnetwork 192.168.7.0\rbroadcast 192.168.7.255\rgateway 192.168.7.1\rdns-nameservers 8.8.8.8\u0026#39; | sudo tee --append /etc/network/interfaces\r# Some additional tweaks:\rAdd\r# Turn HDMI Off\r/usr/bin/tvservice -o\r# Turn HDMI Back On\r#/usr/bin/tvservice -p\r# Turn ACT LED Off on Pi Zero\recho none | tee /sys/class/leds/led0/trigger\recho 1 | tee /sys/class/leds/led0/brightness to your /etc/rc.local before exit 0 to turn off the HDMI Interface on boot, as well as the LED of the Pi Zero to use less energy. Found on: http://www.midwesternmac.com/blogs/jeff-geerling/raspberry-pi-zero-conserve-energy and http://www.midwesternmac.com/blogs/jeff-geerling/controlling-pwr-act-leds-raspberry-pi\nThis was enough to create an Pi Zero Worker Image.\nShutdown the RPi now with\nsudo shutdown -h now remove the Power and insert the SDcard into your Pi Zero.\nOn the Master Machine, I did following changes:\n# Add settings to network interfaces\recho \u0026#39;\rallow-hotplug usb0\riface usb0 inet static\raddress 192.168.7.1\rnetmask 255.255.255.0\rnetwork 192.168.7.0\rbroadcast 192.168.7.255\u0026#39; | sudo tee --append /etc/network/interfaces\r# Allow Ipv4 Forward\recho \u0026#39;net.ipv4.ip_forward=1\u0026#39; | sudo tee --append /etc/sysctl.conf\r# Install iptables\rsudo apt-get install -y iptables\r# Define NATing rules\rsudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE\rsudo iptables -A FORWARD -i eth0 -o usb0 -m state --state RELATED,ESTABLISHED -j ACCEPT\rsudo iptables -A FORWARD -i usb0 -o eth0 -j ACCEPT\r# Save NAT rules / load iptables on interface up\rsudo touch /etc/iptables_masq.rules\rsudo chown pi:pi /etc/iptables_masq.rules\rsudo iptables-save \u0026gt; /etc/iptables_masq.rules\rAdd\rpre-up iptables-restore \u0026lt; /etc/iptables_masq.rules\runder the eth0 section in the network interfaces\rsudo vi /etc/network/interfaces\ri.e.\rauto eth0\riface eth0 inet dhcp\rpre-up iptables-restore \u0026lt; /etc/iptables_masq.rules\r( Info taken from: \u0026lt;a href=\u0026#34;http://serverfault.com/questions/405628/routing-traffic-on-ubuntu-to-give-raspberry-pi-internet-access\u0026#34; target=\u0026#34;_blank\u0026#34;\u0026gt;http://serverfault.com/questions/405628/routing-traffic-on-ubuntu-to-give-raspberry-pi-internet-access\u0026lt;/a\u0026gt; ) #After that, I shutdown the RPi via\rsudo shutdown -h now\r#removed power from it. Then I attached the Pi Zero to the Hub of Pi B via an Micro USB Cable by using the Micro USB OTG Slot on the Pi Zero, connecting it to the Hub of the Pi Modell B. Next, I powered up the Pi B - and both booted.\nI pinged 192.168.7.2 - which was the IP of the Pi Zero - and it answered. Now I only had to use cat ~/.ssh/id_rsa.pub | ssh pi@192.168.7.2 \u0026quot;mkdir .ssh;cat \u0026gt;\u0026gt; .ssh/authorized_keys\u0026quot; from Section 0 to get the SSH Key, created in Step 0 onto the Pi Zero and could use that to automatically login in into the Pi Zero.\nWith the new IP of the RPi B and Pi Zero in the machinefile of mpich I could then use my both RPis with higher speed and nearly zero costs for cabeling and power :)!\nThe clou: I don\u0026rsquo;t need an additional powersupply for the Pi Zero - nor network adapters, RJ45 cabling, an switch - only one USB A to USB Micro cable per Pi Zero - and maybe an big, active USB Hub ;)!\nNow, I need to get more Pi Zeros - I plan on using an Modell B as Master with an big active USB Hub to support 4 Pi Zeros - or an Modell B+ with an REALLY BEFFY USB Supply to work them all the same RPi - but that would come down to trying this\u0026hellip; And I got only one Pi Zero - so I need some more time (or some sponsors?) to get me more RPi Zeros to try and see, whether this approach does scale ;)!\nBest thing: This can also be used to try the awesome work of https://blog.hypriot.com to build an Docker Cluster from that - cool, ain\u0026rsquo;t it?\n","date":"2016-01-15T19:00:41Z","permalink":"/posts/2016-01-15-rpi-the-cheapest-raspberry-pi-cluster-ever-made-v2/","title":"[RPi] The cheapest Raspberry Pi Cluster Ever Made v2"},{"content":"This is a short guide to install the recent Docker Version from the official ppa on Ubuntu 14.04 LTS - along with some other great tools like docker-compose.\nPlease bear in mind, that Docker needs an 64 Bit System to work with :)! So no i686 plattforms from here on.\n# Add Docker Key sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D # Add Repo echo \u0026#34;deb https://apt.dockerproject.org/repo ubuntu-trusty main\u0026#34; | sudo tee /etc/apt/sources.list.d/docker.list # Update and Install sudo apt-get update # Install Recommended Package sudo apt-get install linux-image-extra-$(uname -r) # Install Docker itself sudo apt-get install docker-engine # Useradd - so you can use docker with your own user without sudo sudo usermod -aG docker ${USER} # Install pip sudo apt-get install python-pip # Install docker-compose sudo pip install docker-compose # Test Docker Install sudo docker run hello-world # After an additional reboot, you will be able to use docker with your own user (also recommend because of the the new linux-image-extra 🙂 ","date":"2016-01-14T19:00:44Z","permalink":"/posts/2016-01-14-ubuntu-install-docker/","title":"[Ubuntu] Install Docker"},{"content":"This post is outdated, the plugin in question does not exist anymore. I would recommend to use \u0026ldquo;Kee\u0026rdquo; (https://www.kee.pm/) plugin - but please as bridge to KeePass Password Safe 2 - and not in its own database mode 🙂\nI really loved KeeFox, an cool tool which let you use KeePass2 as Password Safe for your Firefox Passwords.\nBut today, I use Chrome - so no KeeFox for me anymore. And I really do not like the \u0026ldquo;Synchronize Password\u0026rdquo; Feature of Google.\nSo\u0026hellip; chomeIPass it is ;)!\nWindows:\n( from http://diantokam.blogspot.de/2013/12/integrating-keepass-2-with-chrome.html )\n1.) Install Chrome and KeePass2 ( http://keepass.info/download.html )\n2.) Download KeePassHttp.plgx from the Github Repo: https://github.com/pfn/keepasshttp/blob/master/KeePassHttp.plgx?raw=true 3.) Move the KeePassHttp.plgx to the C:\\Program Files (x86)\\KeePass Password Safe 2\\ folder\n4.) Start KeePass2\n5.) Install the Chrome Plugin: https://chrome.google.com/webstore/detail/chromeipass/ompiailgknfdndiefoaoiligalphfdae 6.) Click on the new KeePass Icon in Chrome, click on Connect and check KeePass which should Ask for a \u0026ldquo;New Key Association\u0026rdquo; - aka Pairing from Chrome with KeePass2. Give it a uniqe Key name, like Chrome Windows Main PC - and klick Save.\n7.) Go to a password protected website - a pop up from KeePass2 should ask wheter it is allowed to give the already saved credentials to Chromium, Allow it.\nUbuntu:\n( from http://askubuntu.com/questions/130627/how-to-integrate-keepass-and-chrome-chromium-using-chromipass )\nHint: As correctly pointed out by \u0026ldquo;H.R.\u0026rdquo; in the comments, it is not recommended to install software from an untrusted source, like jtaylors keeps ppa. It is correct that jtaylor does not seem to be a part of the keepass2 team, hence his ppa is flagged as outside of keepass and \u0026ldquo;untrusted\u0026rdquo; - however, his ppa linked and recommended by the keepass team to install on Ubuntu. You can always build the program from sourcecode yourself, which I will not describe here, hence this post is over 4 years old and not applicable anymore, as the Chromium Password Manager does not even exist anymore.\n1.) Install Chromium and KeePass2:\nsudo apt-add-repository ppa:jtaylor/keepass\nsudo apt-get update\nsudo apt-get install keepass2 mono-complete chromium\n2.) Download KeePassHttp.dll and Newtonsoft.Json.dll from the Github Repo: https://github.com/pfn/keepasshttp/blob/master/mono/KeePassHttp.dll?raw=true and https://github.com/pfn/keepasshttp/blob/master/mono/Newtonsoft.Json.dll?raw=true 3.) Move both files to /var/lib/keepass2\ncd ~/Downloads\nsudo mv KeePassHttp.dll /usr/lib/keepass2/\nsudo mv Newtonsoft.Json.dll /usr/lib/keepass2/\n4.) Start KeePass2\n5.) Install the Chrome Plugin: https://chrome.google.com/webstore/detail/chromeipass/ompiailgknfdndiefoaoiligalphfdae 6.) Click on the new KeePass Icon in Chrome, click on Connect and check KeePass which should Ask for a \u0026ldquo;New Key Association\u0026rdquo; - aka Pairing from Chrome with KeePass2. Give it a uniqe Key name, like Chrome Windows Main PC - and klick Save.\n7.) Go to a password protected website - a pop up from KeePass2 should ask wheter it is allowed to give the already saved credentials to Chromium, Allow it.\n","date":"2016-01-01T16:37:56Z","permalink":"/posts/2016-01-01-windowsubuntu-install-chromeipass-keepass2-to-chromium-password-management/","title":"[Windows/Ubuntu] Install chromeIPass: KeePass2 to Chromium Password Management"},{"content":"As I saw Jeff Geerlings Website and his iperf Benchmarks of different RPis link, I wondered how the RPi Zero would perform by using the USB Virtual Ethernet Interface on my Windows 7 x64 PC.\nSo I got the latest iperf 2 Version (iPerf 2.0.5-3) from the iperf Website at https://iperf.fr/iperf-download.php, installed iperf from the Raspbian Jessie Packages and launched the iperf Server on my Windows 7 x64 PC via iperf -s. The PC was attached to an Gigabit Switch via an Gigabit Ethernet Interface - so no bottleneck here.\nThen I started the iperf tests via iperf -c IP -t 20 -i 2.\nAnd these are results:\nRPi Modell B Version pre 2\n------------------------------------------------------------ Client connecting to 192.168.2.4, TCP port 5001 TCP window size: 43.8 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.2.98 port 37217 connected with 192.168.2.4 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0- 2.0 sec 13.9 MBytes 58.2 Mbits/sec [ 3] 2.0- 4.0 sec 13.9 MBytes 58.2 Mbits/sec [ 3] 4.0- 6.0 sec 13.6 MBytes 57.1 Mbits/sec [ 3] 6.0- 8.0 sec 14.4 MBytes 60.3 Mbits/sec [ 3] 8.0-10.0 sec 14.5 MBytes 60.8 Mbits/sec [ 3] 10.0-12.0 sec 14.6 MBytes 61.3 Mbits/sec [ 3] 12.0-14.0 sec 14.5 MBytes 60.8 Mbits/sec [ 3] 14.0-16.0 sec 14.6 MBytes 61.3 Mbits/sec [ 3] 16.0-18.0 sec 14.5 MBytes 60.8 Mbits/sec [ 3] 18.0-20.0 sec 14.5 MBytes 60.8 Mbits/sec [ 3] 0.0-20.0 sec 143 MBytes 60.0 Mbits/sec 60 MBit/s? Well\u0026hellip; That is not as good as thought\u0026hellip;\nRPi Modell B v2\n------------------------------------------------------------ Client connecting to 192.168.2.4, TCP port 5001 TCP window size: 43.8 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.2.161 port 55453 connected with 192.168.2.4 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0- 2.0 sec 14.1 MBytes 59.2 Mbits/sec [ 3] 2.0- 4.0 sec 14.1 MBytes 59.2 Mbits/sec [ 3] 4.0- 6.0 sec 14.0 MBytes 58.7 Mbits/sec [ 3] 6.0- 8.0 sec 14.8 MBytes 61.9 Mbits/sec [ 3] 8.0-10.0 sec 14.6 MBytes 61.3 Mbits/sec [ 3] 10.0-12.0 sec 14.6 MBytes 61.3 Mbits/sec [ 3] 12.0-14.0 sec 14.6 MBytes 61.3 Mbits/sec [ 3] 14.0-16.0 sec 14.6 MBytes 61.3 Mbits/sec [ 3] 16.0-18.0 sec 14.5 MBytes 60.8 Mbits/sec [ 3] 18.0-20.0 sec 14.6 MBytes 61.3 Mbits/sec [ 3] 0.0-20.0 sec 145 MBytes 60.7 Mbits/sec 60.7 MBit/s - ok, the RPi Modell B v2.0 got double the RAM (512 MB) than the old version - but that did not have impact on the network speed.\nRPi 2 Modell B\n------------------------------------------------------------ Client connecting to 192.168.2.4, TCP port 5001 TCP window size: 43.8 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.2.111 port 38411 connected with 192.168.2.4 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0- 2.0 sec 22.6 MBytes 94.9 Mbits/sec [ 3] 2.0- 4.0 sec 22.4 MBytes 93.8 Mbits/sec [ 3] 4.0- 6.0 sec 22.5 MBytes 94.4 Mbits/sec [ 3] 6.0- 8.0 sec 22.5 MBytes 94.4 Mbits/sec [ 3] 8.0-10.0 sec 22.4 MBytes 93.8 Mbits/sec [ 3] 10.0-12.0 sec 22.5 MBytes 94.4 Mbits/sec [ 3] 12.0-14.0 sec 22.4 MBytes 93.8 Mbits/sec [ 3] 14.0-16.0 sec 22.5 MBytes 94.4 Mbits/sec [ 3] 16.0-18.0 sec 22.4 MBytes 93.8 Mbits/sec [ 3] 18.0-20.0 sec 22.5 MBytes 94.4 Mbits/sec [ 3] 0.0-20.0 sec 225 MBytes 94.2 Mbits/sec 94.2 Mbits/s is a good value, the matches with Jeff ones - so I am feeling a bit better after the bad measurements of the RPi 1 B pre/2.0\u0026rsquo;s\u0026hellip;\nRPi Zero\n------------------------------------------------------------ Client connecting to 192.168.7.1, TCP port 5001 TCP window size: 43.8 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.7.2 port 37992 connected with 192.168.7.1 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0- 2.0 sec 21.9 MBytes 91.8 Mbits/sec [ 3] 2.0- 4.0 sec 22.1 MBytes 92.8 Mbits/sec [ 3] 4.0- 6.0 sec 22.2 MBytes 93.3 Mbits/sec [ 3] 6.0- 8.0 sec 22.1 MBytes 92.8 Mbits/sec [ 3] 8.0-10.0 sec 22.1 MBytes 92.8 Mbits/sec [ 3] 10.0-12.0 sec 22.2 MBytes 93.3 Mbits/sec [ 3] 12.0-14.0 sec 22.2 MBytes 93.3 Mbits/sec [ 3] 14.0-16.0 sec 22.2 MBytes 93.3 Mbits/sec [ 3] 16.0-18.0 sec 22.1 MBytes 92.8 Mbits/sec [ 3] 18.0-20.0 sec 22.2 MBytes 93.3 Mbits/sec [ 3] 0.0-20.0 sec 222 MBytes 92.9 Mbits/sec Finally - and that does come in as a surprise: I though the Pi Zero - attached via USB Ethernet would give me any value between some Mbit and some really odd numbers - but it closely matches an really solid 100 MBit Interface - so\u0026hellip; Thats cool :)!\n","date":"2015-12-27T19:24:30Z","permalink":"/posts/2015-12-27-rpi-measuring-rpi-zero-usb-network-speed-with-iperf/","title":"[RPi] Measuring RPi Zero USB Network Speed with iperf"},{"content":"As soon as the Pi Zero came out, I started on thinking about Clusters again. I wanted to create an big - but at the same time, cheap cluster.\nYes, an Pi Zero is not nearly as fast, as an RPi 2. And yes, there are some problems with this idea - especially about the fact, that the Pi Zero is not as common as an - say - RPi Modell B v. 2.0 - but - as this is more about science and trying to just \u0026ldquo;do it\u0026rdquo; - I tried it anyway.\nTLDR; Yes, it works - and better than you might think :)!\nSo, the basic problem about the Pi Zero are its interfaces: Yes, we got USB, but none Ethernet Port. So the basic approach would be to buy an 5€ Pi as well as an about 8€ AX88772 Ethernet Interface and some USB OTG Adapters - an we would end up with about 15€+ for each member of the cluster. Well, that is reasonable - but bulky and \u0026ldquo;not sexy\u0026rdquo;.\n0. Building mpich I used some old Appliance Image I created from an Minibian Wheezy Image (https://minibianpi.wordpress.com/) earlier this year - for the 1.) section on the RPi Modell B pre 2.0 and RPi Modell A+. For the 2.) section, I used an special Appliance Image I made from an Minibian Jessie Image. However, I will document needed changes here, to get it running from any source. I recommend the Minibian Jessie Image as starting point, with this changes:\napt-get update\rapt-get install -y raspi-config keyboard-configuration\rraspi-config\r# Default Configuration and Expand Filesystem using raspi-config\r# Enter Finish and press Yes on Reboot the Device\rapt-get install -y rpi-update sudo\rapt-get -y dist-upgrade\rreboot\rrpi-update\rreboot\r# Create Default User pi\radduser pi\r# Enter Password as wanted, i.e. raspberry\r# Add user to default groups\rusermod -a -G pi,adm,dialout,cdrom,audio,video,plugdev,games,users pi\r# Add sbin Paths to pi\recho \u0026#39;export PATH=\u0026#34;$PATH:/sbin:/usr/sbin:usr/local/sbin\u0026#34;\u0026#39; \u0026gt;\u0026gt; /home/pi/.bashrc\r# Add user to sudo\rvisudo\r# Add under\r# # User privilege specification\r# root ALL=(ALL:ALL) ALL\rpi ALL=(ALL:ALL) ALL\r# Save and Exit\rreboot\r# Disable root login\rsudo passwd -l root or - and default RPi Jessie Image.\nBuilding MPICH 3 was quite easy:\n# Update and Install Dependencies, then reboot\rsudo apt-get update\rsudo apt-get -y dist-upgrade\rsudo apt-get install -y build-essential\rsudo reboot\r# Make MPICH 3.2\rcd ~\rwget http://www.mpich.org/static/downloads/3.2/mpich-3.2.tar.gz\rtar -xvzf mpich-3.2.tar.gz\rcd mpich-3.2\r# This will take some time\rsudo ./configure --disable-fortran\r# This will take several cups of tea ;)\rsudo make\rsudo make install Create SSH on Master, distribute to Slaves\ncd ~\rssh-keygen -t rsa –C \u0026#34;raspberrypi\u0026#34; Default location should be set to /home/pi/.ssh/id_rsa if you\u0026rsquo;re using the standard user pi. Then choose this command to distribute the key to all your \u0026ldquo;slave maschines\u0026rdquo;:\ncat ~/.ssh/id_rsa.pub | ssh pi@IP_OF_SLAVES \u0026quot;mkdir .ssh;cat \u0026gt;\u0026gt; .ssh/authorized_keys\u0026quot; ( Was taken from http://www.southampton.ac.uk/~sjc/raspberrypi/ - he was the original father of the RPi Clusters and his work inspired me already years ago - so please read and support his work :)! Additional infos can be found at https://westcoastlabs.blogspot.co.uk/2012/06/parallel-processing-on-pi-bramble.html)\nYou could also just\ncat ~/.ssh/id_rsa.pub \u0026gt;\u0026gt; ~/.ssh/authorized_keys to your own authorized files, shutdown your Master Pi after that and clone the card several times for all your Clients. This way, you would only need to do the work once - however, maybe you should release the keys in ~/.ssh/ so that only your Master Pi could command the slaves\n1. First Try: Serial (did work, but not chosen) First idea was, to use the Serial Line of the Pi Zero for IP communication:\nI wanted to have an Master Pi (Modell B) with Ethernet Port for network connectivity and connect up to 4 Pi Zero to it via Serial. And as the RPis only have one serial port, I would use an Serial to SPI Converter to keep it small and simple. But as it turns out, I could not find the MAX14830 (https://www.maximintegrated.com/en/products/interface/controllers-expanders/MAX14830.html) for sale on the net, so I got two 2 Port MAX3109 Serial to SPI Converters (https://www.maximintegrated.com/en/products/interface/controllers-expanders/MAX3109.html).\nThey were on the way to my home, so I wanted to already test some basic stuff by using an RPi Modell B pre 2.0 and an RPi Modell A+.\nAs we only had one serial port, we could only drive the one RPi Modell A+ with that. I will use the B pre 2.0 as Master, and the A+ as Slave. First, we connected both RPis via Serial (both shutdown and unpluged!). Just connect the Serial TX of RPi B to the Serial RX of the RPi A+ and vice versa. Then connect a Ground Pin of the RPi B to the RPi A+. Thats it.\nThen we powered on the RPis and made some changes:\n(Some ideas taken from MagPi 41: https://www.raspberrypi.org/magpi/)\nGuest:\n# I actually prepared the whole sdcard of the RPi A+ Guest while having that SD Card in the RPi B - because of the networking connection :).\r# Install ppp\rsudo apt-get install ppp -y\r# Change Hostname\rsudo vi /etc/hostname\rsudo vi /etc/hosts\r# Add DNS Server\recho \u0026#39;nameserver 8.8.8.8\u0026#39; | sudo tee --append /etc/resolv.conf\r# Remove Serial Console\rcd /boot\rsudo cp cmdline.txt old_cmdline\rsudo vi cmdline.txt\r# Normal should read about\rdwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsc\r# Remove console=ttyAMA0,115200 from that line, save and quit\r# Disable Serial Console by using sudo raspi-config and the option, to be sure\r# Increase Clock on the Serial Line, so drive the Serial Line at not only 115200 baud, but 1 MBit/s (taken from: \u0026lt;a href=\u0026#34;http://www.thedevilonholiday.co.uk/raspberry-pi-increase-uart-speed/\u0026#34; target=\u0026#34;_blank\u0026#34;\u0026gt;http://www.thedevilonholiday.co.uk/raspberry-pi-increase-uart-speed/\u0026lt;/a\u0026gt;)\recho \u0026#39;init_uart_clock=64000000\u0026#39; | sudo tee --append /boot/config.txt\r# Add the following line to /etc/rc.local before exit 0\rpppd /dev/ttyAMA0 1000000 10.0.5.2:10.0.5.1 noauth local defaultroute nocrtscts xonxoff persist maxfail 0 holdoff 1 \u0026amp;\r# and shutdown\rsudo shutdown -h now After that, insert that SD Card into the A+.\nHost:\n# Now insert the real SD Card for the B into the B and power it on.\r# Install ppp\rsudo apt-get install ppp -y\r# Enable ipv4 Forward for networking access\recho \u0026#39;net.ipv4.ip_forward=1\u0026#39; | sudo tee --append /etc/sysctl.conf\r# Remove Serial Console\rcd /boot\rsudo cp cmdline.txt old_cmdline\rsudo vi cmdline.txt\r# Normal should read about\rdwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsc\r# Remove console=ttyAMA0,115200 from that line, save and quit\r# Disable Serial Console by using sudo raspi-config and the option, to be sure\r# Increase Clock on the Serial Line, so drive the Serial Line at not only 115200 baud, but 1 MBit/s (taken from: \u0026lt;a href=\u0026#34;http://www.thedevilonholiday.co.uk/raspberry-pi-increase-uart-speed/\u0026#34; target=\u0026#34;_blank\u0026#34;\u0026gt;http://www.thedevilonholiday.co.uk/raspberry-pi-increase-uart-speed/\u0026lt;/a\u0026gt;)\recho \u0026#39;init_uart_clock=64000000\u0026#39; | sudo tee --append /boot/config.txt\r# Reboot\rreboot\r# After having rebooted the RPi B, boot up the RPi A+ as well.\r# Wait a little bit, then...\r# Start PPP Connection\rsudo pppd /dev/ttyAMA0 1000000 10.0.5.1:10.0.5.2 proxyarp local noauth nodetach nocrtscts xonxoff passive persist maxfail 0 holdoff 1 In a new putty window, you can now ping 10.0.5.2 - your RPi A+ and can SSH into it.\nAfter that, I could use MPI with both machines, B and A+ - by entering their IP addresses into the machinefile and executing the cpi example to crunch some Pi Numbers.\nBut after all - it was quite ineffective and slow. So I tried to think of something better.. And then LadyAda came with her christmas present to me:\nhttps://learn.adafruit.com/turning-your-raspberry-pi-zero-into-a-usb-gadget/ethernet-gadget - that was the moment my jaw dropped and I thought \u0026ldquo;YES! Thats it!\u0026rdquo;.\n2. Second Try: PiZero on Virtual Ethernet (Solution) Now my prefered solution: As the USB Port of the PiZero is an real OTG Port, you could repurpose it as an Serial or even Virtual Ethernet port. And hell, Lady Ada striked again :)! So to sum it up shortly:\nI build my MPICH as mentioned in 0) on an Minibian Jessie image (SDCard running on an RPi B). Then I installed her special kernel:\ncd ~\rwget http://adafruit-download.s3.amazonaws.com/gadgetmodulekernel_151224a.tgz -o gadgetkernel.tgz\rtar -xvzf gadgetkernel.tgz\rsudo mv /boot/kernel.img /boot/kernelbackup.img\rsudo mv tmp/boot/kernel.img /boot\rsudo mv tmp/boot/overlays/* /boot/overlays\rsudo mv tmp/boot/*dtb /boot\rsudo cp -R tmp/boot/modules/lib/* /lib\r# Load virtual ethernet module on boot\recho \u0026#39;g_ether\u0026#39; | sudo tee --append /etc/modules\r# Add settings to network interfaces\recho \u0026#39;\rallow-hotplug usb0\riface usb0 inet static\raddress 192.168.7.2\rnetmask 255.255.255.0\rnetwork 192.168.7.0\rbroadcast 192.168.7.255\rgateway 192.168.7.1\u0026#39; | sudo tee --append /etc/network/interfaces\r# Add DNS Server\recho \u0026#39;nameserver 8.8.8.8\u0026#39; | sudo tee --append /etc/resolv.conf\r# Some additional tweaks:\rAdd\r# Turn HDMI Off\r/usr/bin/tvservice -o\r# Turn HDMI Back On\r#/usr/bin/tvservice -p\r# Turn ACT LED Off on Pi Zero\recho none | sudo tee /sys/class/leds/led0/trigger\recho 1 | sudo tee /sys/class/leds/led0/brightness to your /etc/rc.local before exit 0 to turn off the HDMI Interface on boot,\nas well as the LED of the Pi Zero to use less energy. Found on:\nhttps://www.midwesternmac.com/blogs/jeff-geerling/raspberry-pi-zero-conserve-energy and https://www.midwesternmac.com/blogs/jeff-geerling/controlling-pwr-act-leds-raspberry-pi\nThis was enough to create an Pi Zero Slave Image.\nShutdown the RPi now with\nsudo shutdown -h now remove the Power and insert the SDcard into your Pi Zero.\nOn the Master Machine, I did following changes:\n# Add settings to network interfaces\recho \u0026#39;\rallow-hotplug usb0\riface usb0 inet static\raddress 192.168.7.1\rnetmask 255.255.255.0\rnetwork 192.168.7.0\rbroadcast 192.168.7.255\u0026#39; | sudo tee --append /etc/network/interfaces\r# Allow Ipv4 Forward\recho \u0026#39;net.ipv4.ip_forward=1\u0026#39; | sudo tee --append /etc/sysctl.conf\r# Install iptables\rsudo apt-get install -y iptables\r# Define NATing rules\rsudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE\rsudo iptables -A FORWARD -i eth0 -o usb0 -m state --state RELATED,ESTABLISHED -j ACCEPT\rsudo iptables -A FORWARD -i usb0 -o eth0 -j ACCEPT\r# Save NAT rules / load iptables on interface up\rsudo touch /etc/iptables_masq.rules\rsudo chown pi:pi /etc/iptables_masq.rules\rsudo iptables-save \u0026gt; /etc/iptables_masq.rules\rAdd\rpre-up iptables-restore \u0026lt; /etc/iptables_masq.rules\runder the eth0 section in the network interfaces\rsudo vi /etc/network/interfaces\ri.e.\rauto eth0\riface eth0 inet dhcp\rpre-up iptables-restore \u0026lt; /etc/iptables_masq.rules\r( Info taken from: https://serverfault.com/questions/405628/routing-traffic-on-ubuntu-to-give-raspberry-pi-internet-access ) #After that, I shutdown the RPi via\rsudo shutdown -h now\r#removed power from it. Then I attached the Pi Zero to the Hub of Pi B via an Micro USB Cable by using the Micro USB OTG Slot on the Pi Zero, connecting it to the Hub of the Pi Modell B. Next, I powered up the Pi B - and both booted.\nI pinged 192.168.7.2 - which was the IP of the Pi Zero - and it answered. Now I only had to use cat ~/.ssh/id_rsa.pub | ssh pi@192.168.7.2 \u0026quot;mkdir .ssh;cat \u0026gt;\u0026gt; .ssh/authorized_keys\u0026quot; from Section 0 to get the SSH Key, created in Step 0 onto the Pi Zero and could use that to automatically login in into the Pi Zero.\nWith the new IP of the RPi B and Pi Zero in the machinefile of mpich I could then use my both RPis with higher speed and nearly zero costs for cabeling and power :)!\nThe clou: I don\u0026rsquo;t need an additional powersupply for the Pi Zero - nor network adapters, RJ45 cabling, an switch - only one USB A to USB Micro cable per Pi Zero - and maybe an big, active USB Hub ;)!\nNow, I need to get more Pi Zeros - I plan on using an Modell B as Master with an big active USB Hub to support 4 Pi Zeros - or an Modell B+ with an REALLY BEFFY USB Supply to work them all the same RPi - but that would come down to trying this\u0026hellip; And I got only one Pi Zero - so I need some more time (or some sponsors?) to get me more RPi Zeros to try and see, whether this approach does scale ;)!\nBest thing: This can also be used to try the awesome work of https://blog.hypriot.com to build an Docker Cluster from that - cool, ain\u0026rsquo;t it?\nMerry Christmas :)!\nYours,\nNico\n","date":"2015-12-26T20:13:03Z","permalink":"/posts/2015-12-26-rpi-the-cheapest-raspberry-pi-cluster-ever-made/","title":"[RPi] The cheapest Raspberry Pi Cluster Ever Made"},{"content":"Hello there,\nnow that finally the Letsencrypt.org project is alive, I did secure this blog with an SSL Certificate (yes, was about time!).\nI did already pariticipate in the closed beta and secured about 5 websites (among them some RPis, of course!) and private hosted embedded devices.\nWorked like a charm :)!\nIf you want to find out more about this awesome project or secure your website - go to https://letsencrypt.org/ Let\u0026rsquo;s encrypt all the things :)!\n","date":"2015-12-07T08:58:52Z","permalink":"/posts/2015-12-07-letsencrypt-now-secured/","title":"Letsencrypt - Now secured"},{"content":"If you start using Raspberry Pis, you will run out of Sdcards rather quickly. Reason for this is, there are so many awesome Distros you would like to use - that you are becoming something like an Discjokey for Sdcards: An awful load of sdcards with just some 100 MBs of distros - spread all over your desk. And while sdcards are somehow cheaper than they used to be - today - it is still an awful waste of money.\nEnter BerryBoot:\nBerryBoot is an multiboot OS for Raspberry Pi (1 \u0026amp; 2).\nIt does use packed (squashfs) Images of different OSes, boots into them by using a shared library base and saves differences onto its own data structure on a second (ext4) partition. Quite cool!\nTo use Berryboot, just head over to http://www.berryterminal.com/doku.php/berryboot and download your copy.\nHOWEVER, there are some caveats:\nThe CEC function does not work correctly on the current RPi 1 Version - so you can\u0026rsquo;t navigate the menu of BerryBoot or i.e. OpenElec via your TV IR Remote. This seems to be due to a bug in the Raspberry Pi start files. RPi 2 Version does work well\u0026hellip; So I tried to mesh the two versions - and it worked in the end. So my receipe is the following:\n1.) Download from http://www.berryterminal.com/doku.php/berryboot the berryboot-20140814.zip ( http://downloads.sourceforge.net/project/berryboot/berryboot-20140814.zip ) as well as the berryboot-20150916-pi2-only.zip ( http://downloads.sourceforge.net/project/berryboot/berryboot-20150916-pi2-only.zip ).\na) If you do not yet use berryboot:\n2.) Now, format your Sdcard (if you are newly creating a Berryboot System) to fat32.\n3.) Unzip all files from the berryboot-20150916-pi2-only.zip to the root of the newly created Sdcard. Then unzip ONLY the kernel_rpi_aufs.img from berryboot-20140814.zip and copy it to the Sdcard.\nb) If you own a Berryboot RPi 1 Sdcard and want to upgrade:\n2.) Make a backup of your current berryboot sdcard! MANDATORY! Remove all files from the fat32 berryboot partition (the one with the config.txt, start files, etc.)\n3.) Unzip all files from the berryboot-20150916-pi2-only.zip to berryboot partition. Then unzip ONLY the kernel_rpi_aufs.img from berryboot-20140814.zip and copy it to the Sdcard.\nIf you want to decide which image should be booted \u0026ldquo;on boot\u0026rdquo;:\nJust create on the berryboot data partition in /data/ an textfile named \u0026ldquo;default\u0026rdquo; and enter which image should be loaded, i.e.: OpenELEC_6.0.0.img128\nThere should also be an default_bootonce or so called file which does only boot on the next boot up - but i have not tried that.\nWith that knowledge, you could mount the berryboot data file from an booted image and change - while beeing in the system - the next bootimage via commandline.\nNeat :)?\n","date":"2015-12-06T14:05:17Z","permalink":"/posts/2015-12-06-rasppi-multiboot-with-berryboot/","title":"[RaspPi] Multiboot with BerryBoot"},{"content":"Warning: The R400, R600 and R700 series of presenters are attack vectors and considered harmful. While Heise made an article that detailed that Logitech would exchange the receivers, it did actually not. They sent out a pair of incompatible C-U0014 receivers which could not be paired with R-R0004 presenters and then stopped their program, claiming only to exchange the presenter if it was under warranty, which is a security nightmare (I just tried to get the correct receiver, but Maven M. from Logitech wanted to have the receipt for the module which I obviously do not have anymore). In other words: The hardware is extremely vulnerable, Logitech accepts that it is like that but does not want to get this fixed, so I can only recommend to dispose of the presenter line and do not buy from Logitech anymore. Here is the security write up with the proof of concept to that attack: https://seclists.org/fulldisclosure/2016/Oct/60\nTo pair an old R400 presenter with a new dongle (or vice versa), try to get the right dongle for your presenter version first:\nAs stated here, there are two versions of dongles for the presenters - and they are not interchangable:\nThere are two versions of presenter receivers that can\u0026#39;t be interchanged.\rC-U0005 Use the C-U0005 receiver with these presenters: Wireless Presenter R400 with M/N = R-R0004 Professional Presenter R700 with M/N = R-R0006 Professional Presenter R800 with M/N = R-R0003\rC-U0014 Use the C-U0014 receiver with these presenters: Wireless Presenter R400 with M/N = R-R0008 Professional Presenter R700 with M/N = R-R0010 Professional Presenter R800 with M/N = R-R0009\rYou can find the model number (M/N) of your presenter inside the battery compartment. After that, download the Logitech Presenter Connection Software from https://support.logi.com/hc/en-us/articles/360023466513-R400-Technical-Specifications (Sorry, only Windows\u0026hellip;), start the file and unzip the content.\nUpdate again to this post from 2015 now in 2021: Logitech removed the links from its website, but you still can find the file on its ftp server: ftp://ftp.logitech.com/pub/techsupport/mouse/presenter_connection_zipped.exe ;).\nStart the file and unzip the content.\nThen, connect your dongle, find the logitech_presenter_connection.exe and start it. After that, the software will ask you to power up your presenter while holding down the to the left and to the right keys of the presenter. 3+ seconds after powering up and holding down the keys, you can release the keys, turn off the presenter again and click Ok in the software. Power on your presenter again and see if it works, if not - try the procedure again.\nUpdate (2019): Had to update the links as they were from 2015 and have changed due to Logitech deciding to changing their design (Thanks Michael!). Also please note the R400, R700 and R800 presenters are considered insecure and the dongles are now replaced by Logitech: https://www.heise.de/security/meldung/Angreifbare-Logitech-Presenter-Hersteller-tauscht-gefaehrliche-USB-Empfaenger-aus-4423627.html\nUpdate (2021): Had to update the download link again, thanks Christopher for asking. But I guess you need to start the software with admin rights (maybe even Win XP, Win 7 \u0026ldquo;emulation\u0026rdquo;?), I could not pair my second dongle right now, but the battery is also nearly flat, so that should be an issue\u0026hellip;. the software as what I had back then\u0026hellip; Maybe it helps some one 🙂\n","date":"2015-12-04T13:11:43Z","permalink":"/posts/2015-12-04-logitech-r400-presenter-pairing/","title":"[Logitech] R400 Presenter pairing"},{"content":"Sometimes, you see things you just want to refuse to believe.\nWhile it is true that most problems and quirks of software or hardware are due to really profound reasons and can be fixed quickly, sometimes you just cannot find them easily, if something unexpected happend - something which you never even thought of or you just found to be impossible.\nMy gamechanger - for the WORST - has been Telekom, which I happily would like to propose for the next BigBrother Award:\nTo cut a long story short: A friend of mine did order an Webhosting Account at all-inkl.com - and this did work without any problem.\nI did configure some Domain Redirection, Mail Accounts, included them to the Android Phone of that friend - everything was working just fine.\nHowever, as soon as the person arrived at home, Mail did not work anymore on the phone.\nAfter trying to track down the problem for far too long, I did call the (very nice) support and got some immediate help:\n\u0026ldquo;Are you using a Telekom Line?\u0026rdquo; - well\u0026hellip; Yeah? - \u0026ldquo;Oh.. Well, they include SMTP Whitelists in the new routers, to stop spammers and we are not on this whitelist\u0026hellip; So you can recieve but not send mail\u0026hellip;\u0026rdquo; - WAIT. WHAT?!\nA quick check on the WIFI Symbol, IP Range of the Phone and an Network IP DOT 1 in the friendly browser later - \u0026ldquo;Speedport W724v - What can I do for you?\u0026rdquo; - Well, [D|F|S][a-z][a-z][a-z]! Turns out, the new W724V, Entry 2 and Hybrid Home Routers of the Telekom \u0026ldquo;feature\u0026rdquo; an SMTP Server WHITELISTE. So if you try to use your nice myname.de SMTP Server - nop\u0026rsquo;! You have to include your own Servers to that list, otherwise connection will be blocked - regardless if you try to communicate via Port 25 or 587 via SSL or encrypted formats. Really, hot, bad, nasty stuff.\nOne could mention that fighting spamers is a good idea, but this approach is as china-like as it is 1984.\nSo, kudos Telekom - you just made it impossible for \u0026ldquo;non-IT people\u0026rdquo; to use their own not Telekom and al. hosted SMTP service!\nMore can be found on this german site: http://all-inkl.com/wichtig/anleitungen/programme/e-mail/speedport-w724v-hybrid/liste-der-sicheren-e-mail-server_399.html\n","date":"2015-11-13T12:31:59Z","permalink":"/posts/2015-11-13-telekom-blocking-smtp-servers-without-asking-users/","title":"Telekom blocking SMTP Servers without asking Users"},{"content":"Netflow consists of three parts:\nThe collector, which collects the connection data on a host the capture, which receives data from collectors and writes them to disk in binary format the dump tool, which presents the data We use fprobe as collector and nfcapd as capture tool:\nsudo apt-get install fprobe nfdump fprobe wants to be configured during the installation. It asks for the interface which should be listend upon and where the flow collector does listen. In our example, eth0 should be listend upon and the flow collector is situated on the same computer. Please use 127.0.0.1:9995 for that.\nYou can edit the frpobe file again:\n/etc/default/fprobe\n#fprobe default configuration file\rINTERFACE=\u0026#34;eth0\u0026#34;\rFLOW_COLLECTOR=\u0026#34;127.0.0.1:9995\u0026#34;\r#fprobe can\u0026#39;t distinguish IP packet from other (e.g. ARP)\rOTHER_ARGS=\u0026#34;-fip\u0026#34; nfcapd needs to be configured by hand.\nYou need to set nfcapd_start to yes:\n/etc/default/nfdump\n# nfcapd is controlled by nfsen\rnfcapd_start=yes To change the destination folder of the capture files, change the hardcoded DATA_BASE_DIR in /etc/init.d/nfdump\nAfter that, start the services:\nsudo service fprobe stop\rsudo service nfdump stop\rsudo service fprobe start\rsudo service nfdump start After that, you can evaluate the resulting data\ncd /var/cache/nfdump\rnfdump -R REPLACE_WITH_FIRST_FILE_BEGINNING_WITH_nfcapd You can also define a filter with \u0026quot; \u0026ldquo;, i.e. nfdump -R nfcapd.201510260926 \u0026quot;port 3720\u0026quot; or \u0026quot;ip 8.8.8.8\u0026quot;\nAdditional infos:\nhttp://nfdump.sourceforge.net/ https://www.first.org/global/practices/Netflow.pdf http://meetings.ripe.net/ripe-50/presentations/ripe50-plenary-tue-nfsen-nfdump.pdf ","date":"2015-10-26T12:18:37Z","permalink":"/posts/2015-10-26-netflow-on-ubuntu/","title":"Netflow on Ubuntu"},{"content":"Windows 10 \u0026ldquo;Security?\u0026rdquo;: We got opt-out-only-all-included-private-Wifi-Password-Sharing with all your Facebook Friends, access to all data, addressbooks, emails, voice and video as well as the possiblity to shutdown hardware you attached to your PC - if MS does not like it. Quite some people from the Facebook and Computerbild Front already upgraded to the new Windows 10 - \u0026ldquo;don\u0026rsquo;t get left behind and get your upgrade\u0026rdquo; - well\u0026hellip; it sounds more like a really evil episode of Dr. Who and the Cyberman to me. Ugh.\nTo get to the point: Microsoft did backport some of his Windows 10 telemetry magic to Windows 7/8/8.1 and installed it unasked as updates. So your data can enjoy its \u0026ldquo;freedom\u0026rdquo; even without you upgrading to Windows 10.\nSweet.\nTL;DR - Microsoft did backport Windows 10 telemetry to Windows 7/8/8.1. Xvitaly on Github made a nice cmd file, just download it and execute it to remove all the bad updates and Windows 10 Ads. Restart. After that, check the Windows Update Section and disable the Updates in Question. Otherwise, you will install these again on your next Update.\nLink: https://gist.github.com/xvitaly/eafa75ed2cb79b3bd4e9\n","date":"2015-09-02T20:03:28Z","permalink":"/posts/2015-09-02-removing-windows-10-diagnostics-from-windows-788-1/","title":"Removing Windows 10 Diagnostics from Windows 7/8/8.1"},{"content":"To check if your current Android System is vulnerable to the Stagefright Bug, just use this app: https://play.google.com/store/apps/details?id=com.zimperium.stagefrightdetector\n","date":"2015-08-06T16:01:20Z","permalink":"/posts/2015-08-06-android-stagefright-bug/","title":"[Android] Stagefright Bug"},{"content":"Just a quick tip. If you want to do a screenshot of a certain area of your screen and save it to a file, use the command CTRL + Shift + Print on Ubuntu Linux.\n","date":"2015-08-06T16:00:00Z","permalink":"/posts/2015-08-06-ubuntu-screenshot-to-file/","title":"[Ubuntu] Screenshot to File"},{"content":"I use tools like Google Keep and Evernote from time to time to manage my pile of recipies, data and \u0026ldquo;knowledge\u0026rdquo; (what ever that\u0026rsquo;d be ;)). However, I don\u0026rsquo;t feel really comfortable and looked for alternatives. There are certain plugins for ownCloud, however, these are basically text-editors at best\u0026hellip; Never liked that idea. So I came around Paperwork: http://paperwork.rocks/\nTruth beeing told: It is still in development. It is as bleeding edge as it gets. Sharp as a knife. And yes - I forgot to do backups of my (until then not used) database and lost a lot of data on an simple update\u0026hellip; (Yep, the reason why I introduced you to automysqlbackup some days ago\u0026hellip;).\nBut at the moment, it is working very well and I like it very much. I think it will become an really great tool :)!\n","date":"2015-06-26T17:30:36Z","permalink":"/posts/2015-06-26-open-source-private-evernote-alternative-paperwork/","title":"Open-source / private Evernote alternative: Paperwork"},{"content":"I tested quite a lot of sync tools out there: Dropbox, G-Drive, Bittorrent Sync, ownCloud, plain Rsync,\u0026hellip; You name it.\nBut to be true, I never really liked any tool that much: It never really worked out somehow: The Mobile Apps were bad, \u0026ldquo;Servers\u0026rdquo; did eat up too much performance, etc. etc.\nAnd we don\u0026rsquo;t want to forget these little itching problems with privacy - thinking about Dropbox, G-Drive and the now closed source Bittorrent Sync\u0026hellip;\nWell - enter Syncthing: https://syncthing.net/\nIn truth I can only say one thing: It works. It just, plainly, works for syncing data from your mobile devices to your swarm of servers or pcs.\nSo give it a shot :)!\n","date":"2015-06-24T17:30:06Z","permalink":"/posts/2015-06-24-private-dropboxgoogle-drivefile-sync-syncthing/","title":"Private Dropbox/Google Drive/File Sync: Syncthing"},{"content":"Just install automysqlbackup via apt-get.\nYou can configure the whole system via /etc/default/automysqlbackup\nBackups will be sent to /var/lib/automysqlbackup\n","date":"2015-06-22T17:35:54Z","permalink":"/posts/2015-06-22-ubuntu-automatic-backup-of-mysql-databases/","title":"[Ubuntu] Automatic Backup of MySQL Databases"},{"content":"Here is the presentation of the piRefly Kuramoto Oscillator @ PiAndMore 7 (Trier, 20.07.2015)\npiRefly_PiAndMore7.pdf (1,7 MB, PDF)\nYou can find the repo on github: https://github.com/PiAndMore/piRefly\n","date":"2015-06-20T15:25:15Z","permalink":"/posts/2015-06-20-piandmore-pirefly-kuramoto-oscillator/","title":"[PiAndMore] piRefly - Kuramoto Oscillator"},{"content":"Here is the presentation to my Appliances Talk @ PiAndMore 7 (Trier, 20.07.2015)\nRPiAppliances_PiAndMore7.pdf (0,6 MB, PDF)\n","date":"2015-06-20T13:25:20Z","permalink":"/posts/2015-06-20-piandmore-raspberry-pi-appliances/","title":"[PiAndMore] Raspberry Pi Appliances"},{"content":"Here is the presentation to my ESP8266 Talk @ PiAndMore 7 (Trier, 20.07.2015)\nESP8266_PiAndMore7.pdf (2,8 MB, PDF)\nThanks a lot to Espressif Systems for their tremendous support!\n","date":"2015-06-20T11:25:59Z","permalink":"/posts/2015-06-20-piandmore-esp8266/","title":"[PiAndMore] ESP8266"},{"content":"In the last months, a lot of new updates arrived from the Arduino front. The latest installment of the Arduino IDE is now 1.6.4 and got some really nice additions, i.e. an Board Manager to install board definitions from the net via one click, the Library Manager, line numbers and much more. However, given the nature of the Board Manager, it always installed the files somewhere on the Computer, i.e. the AppData folder - which not really made the Arduino IDE portable. However, with 1.6.3, this was fixed.\nPreparation Download the latest Arduino IDE (1.6.4 here) from https://www.arduino.cc/en/pmwiki.php?n=Main/Software\nWe took the \u0026ldquo;Windows ZIP file for non admin install\u0026rdquo; Version. Unpack the Arduino IDE somewhere In the Main Arduino IDE Folder, create an Folder named portable Installation of Board Support Packages Start Arduino IDE Go to File -\u0026gt; Presettings In the Line \u0026ldquo;Additional Boards Manager URLs\u0026rdquo; you can enter as many URLs as you want, seperated by comma.\nYou can find a list of the URLs at https://github.com/arduino/Arduino/wiki/Unofficial-list-of-3rd-party-boards-support-urls Click Ok if you\u0026rsquo;re done\n(i.e. enter http://arduino.esp8266.com/package_esp8266com_index.json for the ESP8266 Package) Go to Tools -\u0026gt; Board -\u0026gt; Boards Manager\nArduino will refresh its boards list from the URLs you entered. You can now click on every entry you want and install it with a click on install.\nYou can also uninstall and change versions using that menu. Installation of Libraries Go to Sketch -\u0026gt; Include Library\nHere you can a) Install a Library with the Library Manager in the same way as the Boards Manager, b) Install a Library from a ZIP File\nJust install the libraries you need and close the window.\ni.e. MQTT ","date":"2015-06-20T11:25:17Z","permalink":"/posts/2015-06-20-win7-arduino-1-6-4-portable-installation/","title":"[Win7+] Arduino 1.6.4+ Portable Installation"},{"content":"ØMQ (zeroMQ) is one of these sexy \u0026ldquo;new\u0026rdquo; Message Queue Systems. I wanted to dive into it right away, starting with Java. However, building zeroMQ with Java Binding on Windows 7, x64 is a pain (read: Did not work out fast enough - as I wanted to get my feet wet fast!) - so I switched over to Python. Well. Getting that to work is quite easy.\n1.) Download and install latest zeroMQ\nYou can get the Windows Downloads on https://zeromq.org/distro:microsoft-windows, i choose the Stable Release 4.0.4 for Windows, x64 Release for Vista and newer. Just download and install it.\n2.) Download and install Python\nAs I really like the 2.7 branch, I went for Python 2.7.9 which can be downloaded at https://www.python.org/downloads/\nYou should install it with all default settings, but enable the \u0026ldquo;Add Python to System Path\u0026rdquo;.\nAfter installation you should check that the Path Variables for your Python Install are added correctly, i.e. \u0026ldquo;C:\\Python27;C:\\Python27\\Scripts\u0026rdquo;\n( More information on how to add path variables on https://www.computerhope.com/issues/ch000549.htm)\n3.) Download and install the Python Binding pyzmq\nOpen a cmd / command prompt and enter pip install pyzmq. That should install pyzmq.\n4.) Final words\nAfter that you can open your Python IDLE and start with some demo code, which can be found on the Github of pyzmq: https://github.com/zeromq/pyzmq/tree/master/examples\nThe getting started guide is also an awesome source of information: http://zguide.zeromq.org/py:all\nCommon Problems:\nIf you get an \u0026ldquo;pip not found\u0026rdquo;, you most probably have not set the Path / Enviromental Variables correctly.\n","date":"2015-04-15T15:36:40Z","permalink":"/posts/2015-04-15-omq-getting-started-with-omq-and-python-on-windows-7-x64/","title":"[ØMQ] Getting started with ØMQ and Python on Windows 7, x64"},{"content":"For basic appliances with an very specific task, an complete Raspbian Installation can be too heavy weight and unnecessary. Striping down Raspbian of things like Mathematica can be time consuming. Enter Minibian: Just download the Image at https://minibianpi.wordpress.com/ and flash it to your SD Card like a normal Raspbian Image. Following is the procedure to setup Minibian with raspi-config, rpi-update and sudo / Default User pi.\nHow much resources does Minibian need after installation?\nAbout 469 MB of space on the SD Card.\nAbout 60 MB of RAM.\nI think that is way better than Raspbian.\napt-get update apt-get install -y raspi-config raspi-config # Default Configuration and Expand Filesystem using raspi-config # Enter Finish and press Yes on Reboot the Device apt-get install -y rpi-update sudo apt-get -y upgrade reboot rpi-update Create Default User pi adduser pi # Enter Password as wanted, i.e. raspberry Add user to default groups usermod -a -G pi,adm,dialout,cdrom,audio,video,plugdev,games,users pi Add sbin Paths to pi echo \u0026#39;export PATH=\u0026#34;$PATH:/sbin:/usr/sbin:usr/local/sbin\u0026#34;\u0026#39; \u0026gt;\u0026gt; /home/pi/.bashrc Add user to sudo visudo # Add under # # User privilege specification # root ALL=(ALL:ALL) ALL pi ALL=(ALL:ALL) ALL Save and Exit reboot Disable root login sudo passwd -l root ","date":"2015-04-07T05:54:14Z","permalink":"/posts/2015-04-07-rasppi-minibian-basic-setup/","title":"[RaspPi] Minibian Basic Setup"},{"content":"Suomalainen Äänimaisema was an project of Melanie Windl, an artist from the University of Mainz, Germany on which I helped as technical advisor and programmer. The idea of the project was to field-record several sounds and music of Finland, load them onto some Raspberry Pis and let them play, as soon as a person came close enough to the object. The project was realised using three Raspberry Pi, Modell B+, some PIR sensors and USB Soundcards. You can find more about the project here: https://atelier-windl.com/portfolio/suomalainen-aanimaisema-2/\nExhibition\nSuomalainen Äänimaisema\n25.03.-02.04.2015\nTitanik Galleria, Itäinen Rantakatu 8\n20700 Turku, Finnland\nA short video showing the project can be found here\n","date":"2015-04-02T09:39:09Z","permalink":"/posts/2015-04-02-art-suomalainen-aanimaisema/","title":"[Art] Suomalainen Äänimaisema"},{"content":"I found this solution in the Spiceworks VMWare Forum by User ZEFiR and after testing it succesfully with ESXi 5.5 Update 2, I wanted to preserve it for future use. The Original Post can be found\nhttps://community.spiceworks.com/topic/411970-installing-esxi-5-5-with-4gb-ram-memory_size-error?page=1#entry-3816226. Thanks a lot to ZEFiR for sharing this very useful piece of knowledge :)!\nBoot from VMware ESXi 5.5\nwait \u0026ldquo;Welcome to theVMware ESXi 5.5.0 Installation\u0026rdquo; screen\nPress Alt+F1 for enter console and login as \u0026ldquo;root\u0026rdquo; (no password needed)\ngo to:\ncd /usr/lib/vmware/weasel/util/ delete file:\nrm upgrade_precheck.pyc; remove readonly flags: mv upgrade_precheck.py upgrade_precheck.py.def cp upgrade_precheck.py.def upgrade_precheck.py set permissions: chmod 755 upgrade_precheck.py open script in vi: vi upgrade_precheck.py find \u0026ldquo;MEM_MIN_SIZE\u0026rdquo;, pres \u0026#34;a\u0026#34; (edit mode. \u0026#34;(4 * 1024 - 32)\u0026#34; change to \u0026#34;(2 * 1024 - 32)\u0026#34;, pres \u0026#39;ESC\u0026#39;, run command \u0026#34;:wq\u0026#34; (save \u0026amp; exit) look installer PID: ps -c | grep weasel kill installer (PID = process Nr.): kill PID Installer process run automatically (with modified config script).\nContinue from \u0026ldquo;Welcome to theVMware ESXi 5.5.0 Installation\u0026rdquo;\n","date":"2015-03-26T15:01:31Z","permalink":"/posts/2015-03-26-esxi5-5u2-install-esxi-on-vmware-host-with-less-than-4-gb-of-ram/","title":"[ESXi5.5U2] Install ESXi on VMWare Host with less than 4 GB of RAM"},{"content":"Very easy and handy is to use an SSH Server as Socks Proxy:\nssh -D 8080 username@my_ssh_server Or use Putty:\nEnter the IP Address of your SSH Server, Port and go to Connection -\u0026gt; SSH -\u0026gt; Tunnels.\nIn Source Port enter the Port where the Proxy should be available. I.e. 8080\nThen choose \u0026ldquo;Dynamic\u0026rdquo;.\nLeave Destination Port Empty and the IP Configuration on \u0026ldquo;Auto\u0026rdquo;.\nAfter connecting to your SSH Server, you can configure i.e. Firefox to use your Socks 5 Server on IP 127.0.0.1 and Port 8080.\n","date":"2015-03-23T15:01:08Z","permalink":"/posts/2015-03-23-ssh-socks-proxy/","title":"SSH Socks Proxy"},{"content":"Little How To to get an Virtual AP running on XBian.\nI did NOT choose to install an DHCP Server on Xbian, as I just wanted to use the central one in my network.\n1.) Install software\nsudo apt-get update sudo apt-get install install hostapd hostap-utils iw bridge-utils 2.) Update hostapd\ncd ~ 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\nsudo vi /etc/hostapd/hostapd.conf\ninterface=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\n#DAEMON_CONF=\u0026#34;\u0026#34; to DAEMON_CONF=\u0026#34;/etc/hostapd/hostapd.conf\u0026#34; and save file\n4.) Configure hostapd autostart\nsudo update-rc.d hostapd enable 5.) Configure IPv4 Forward\nsudo vi /etc/sysctl.conf add\nnet.ipv4.ip_forward=1 to the end of the file and save\n6.) Configure interfaces\nYou will need to change the IP address and network to your networks settings!\nsudo vi /etc/network/interfaces\nauto 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\nsudo vi /etc/rc.local\nadd before exit 0\nifup br0 /etc/init.d/hostapd restart save and exit\n8.) Reboot\nsudo reboot Material used and thanks to:\nhttps://learn.adafruit.com/setting-up-a-raspberry-pi-as-a-wifi-access-point/overview\nhttp://www.instructables.com/id/How-to-make-a-WiFi-Access-Point-out-of-a-Raspberry/#step1\nhttps://wiki.debian.org/BridgeNetworkConnections\n","date":"2015-03-20T13:08:08Z","permalink":"/posts/2015-03-20-rasppi-virtual-accesspoint-on-xbian/","title":"[RaspPi] Virtual Accesspoint on Xbian"},{"content":"So I wanted to try out some \u0026ldquo;new technologies\u0026rdquo; as Docker and Vagrant, so I decided to install Vagrant on my Windows 7 machine. It turned out to be not that \u0026ldquo;just install and go\u0026rdquo; as written down in the tutorial.\nSo, the short version to get you up and running:\n1.) Install VirtualBox VirtualBox-4.3.12-93733-Win\nYes, 4.3.16 is current, no - you can\u0026rsquo;t use something higher than 4.3.12 because of an error with ssh\u0026hellip;\n2.) Install some software which comes with ssh\nSo if you haven\u0026rsquo;t installed git until, that should be the perfect time to do that.\nOh, and please include the bin folder with the ssh.exe in the PATH Variable of your Windows machine. Vagrant needs to call it to connect to your \u0026ldquo;VM\u0026rdquo;.\n3.) Install Vagrant 1.6.5\n4.) After doing all that, you should reboot your pc.\nYour first vagrant session:\n1.) Open up your CLI / cmd.exe\n2.) Create an new folder and enter it\n3.) Init vagrant, i.e.\nvagrant init 4.) Start the vagrant vm\nvagrant up After all that, you will be able to connect to your VM with:\nvagrant ssh If you want to stop your machine, enter\nvagrant destory And that is it.\nOh, by the way: Vagrant may use VMWare Workstation instead of Oracles Virtual Box - if you\u0026rsquo;re willing to pay 79 Bucks per PC\u0026hellip;\n","date":"2015-03-17T13:07:10Z","permalink":"/posts/2015-03-17-vagrant-on-windows-7/","title":"Vagrant on Windows 7"},{"content":"If you are downloading an Linux Image for i.e. Embedded Systems like Raspberry Pi, sometimes, the SSH Keys are still on the system and are not recreated.\nTo do that manually, just enter:\nsudo rm /etc/ssh/ssh_host_*\rsudo dpkg-reconfigure openssh-server\rsudo service ssh restart ","date":"2015-03-14T13:07:08Z","permalink":"/posts/2015-03-14-linux-delete-old-ssh-keys-and-recreate-them/","title":"[Linux] Delete old SSH Keys and recreate them"},{"content":"Errors with xfce4-panel\nI got an error that the xfce4-panel / Taskbar disappeared.\nI solved it by right-clicking on the Desktop, choosing Applications, Settings, Panel.\nAfter that it told me that it got no panel running, and if it should start one.\nI answered yes and the panel would appear again.\nAfter an reboot, I always got the question wheter it should start an panel.\nAs that was quite annoying, I looked for another solution to the problem.\nI found the answer here: http://forum.ubuntuusers.de/topic/probleme-mit-panel-und-kiosk-modus/\nJust delete the xfce settings like that:\nrm -rf ~/.cache rm -rf ~/.config After that, click the log out button, UNCHECK the \u0026ldquo;Save session for future logins\u0026rdquo; box and choose reboot.\nOn the next reboot, it should come up correctly again.\n","date":"2015-03-11T13:35:15Z","permalink":"/posts/2015-03-11-rasppi-trouble-with-xfce4-panel-on-kali-linux/","title":"[RaspPi] Trouble with xfce4-panel on Kali Linux"},{"content":"1.) Download Kali for RPi\nhttps://www.offensive-security.com/kali-linux-vmware-arm-image-download/\n2.) 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\n2b.) 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:\nhdmi_ignore_edid=0xa5000080\rhdmi_group=2 # HDMIPi for 1280 x 800\rhdmi_drive=2 # for alternative modes get sound\rhdmi_mode=28 # 1280 x 800 @ 60 Hz Specifcations 3.) Boot it\n4.) After boot, login with root / toor\n5.) Install raspi-config using the terminal\nwget 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\n7.) Install Kali Metapackages\nKali comes kind of \u0026ldquo;blank\u0026rdquo; with no tools.\nChoose your needed package from https://www.kali.org/news/kali-linux-metapackages/ and install it using apt-get.\nBut please look out for the installation size!\nI.e. for the kali-linux-top10 package:\napt-get update apt-get install kali-linux-top10 Or the complete ISO package (9 GB!):\napt-get install kali-linux-full 8.) Reboot\nsudo reboot 9.) After rebooting and login with root / toor, enter startx to use Kali\n","date":"2015-03-11T13:05:14Z","permalink":"/posts/2015-03-11-rasppi-install-kali-linux-on-rpi-with-hdmipi/","title":"[RaspPi] Install Kali Linux on RPi with HDMIPi"},{"content":"[RaspPi] Faintly glowing steady green LED on Raspberry Pi\nI got some serious issues with one of my Raspberry Pi, Modell B Rev. 2.0.\nWith 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.\nAfter my shop of trust sadly declined to help me with that issue, I tried to come up with every possible fix possible.\nSo, what can it be?\nPowersupply 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:\nThe SD Card did not connect correctly to the SD Card Reader in the RPi.\nI just needed to rebend the legs of the SD Card Slot on the RPi, after that, it just worked perfectly again.\nThe faintly glowing green LED says that the bootcode.bin could not be loaded, the first file that is pulled from the SD Card.\nSo it is a good hint for everything what could have gone wrong.\nOther than that, a lot of good hints are shown on: http://elinux.org/R-Pi_Troubleshooting\n","date":"2015-03-07T13:05:31Z","permalink":"/posts/2015-03-07-rasppi-faintly-glowing-steady-green-led-on-raspberry-pi/","title":"[RaspPi] Faintly glowing steady green LED on Raspberry Pi"},{"content":"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.\nOk, but short into: What is Snappy Ubuntu Core?\nWell it is meant to be a secure operating system for embedded applications.\nIt is based on an transactional system-management and can even rollback upgrades of the system core.\nThere are three kinds of Snappy Ubuntu Core Components:\nSnappy Ubuntu Core itself (Core), Frameworks and Apps.\nFrameworks can access the Core in certain ways and thus need to be reviewed by the Ubuntu Team.\nApps are completly isolated from each other and have limited access to the system, therefore they don\u0026rsquo;t need special security profiles or reviews, which makes publishing easier.\nOk, and everything is controlled via the command \u0026ldquo;snappy\u0026rdquo;.\nLet\u0026rsquo;s install Snappy Ubuntu Core:\n1.) Get the Image from http://www.raspberrypi.org/downloads/ and a Raspberry Pi 2. It needs the ARMv7 architecture and won\u0026rsquo;t run on a RPi 1.\n2.) Use the SD Formatter ( https://www.sdcard.org/downloads/formatter_4/ ) with Size Adjustment (you\u0026rsquo;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.\n3.) Plug your RPi 2 into your Keyboard / Monitor / Network Connection, insert the Micro SD Card and let it boot.\n4.) The Login Credentials are ubuntu / ubuntu\nOk. Now that we got Snappy Ubuntu Core running on our RPi 2 - how about using it?\nWe can login via Keyboard / Monitor using the CLI, or use SSH - if we know the IP Address of our RPi2.\nLogin Credentials remain the same.\nAdditionally, we can browser from any PC on the same network to http://\u0026lt;IP-ADDRESS-OF-THE-RPI2\u0026gt;: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\u0026hellip; Don\u0026rsquo;t use this box for anything more than testing / dev work!\nAfter login in, we can find out the most important things via uname -a, top, df -h, date and ifconfig.\nSnappy Ubuntu Core uses about 128 MB of RAM while beeing idle.\nThe 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\u0026rsquo;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 \u0026quot;Tue 2 Mar 21:33 UTC 2015\u0026quot;.\nAfter 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.\nLittle Hint: On my last test, Snappy showed this output:\nubuntu@localhost:~$ sudo snappy versions -a\rPart Tag Installed Available Fingerprint Active\rubuntu-core edge 2 3 f442b1d8d6db3f *\rubuntu-core edge 3 - d3fe721a35104a R\rwebdm edge 0.1 - 1604c8b7c9f6c5 *\rRun \u0026#39;snappy update\u0026#39; and reboot to use the new ubuntu-core. Which means the new Version should come up on Reboot (\u0026ldquo;Active, R\u0026rdquo;) - 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 :/!\nLast but not least: How to find and install new apps? Very easy.\nJust enter i.e. snappy search \u0026lt;AppName\u0026gt; to find the App you\u0026rsquo;re looking for and install it with sudo snappy install \u0026lt;AppName\u0026gt; or via the WebDM System.\nMore infos can be found on the Website of Snappy Ubuntu Core: https://developer.ubuntu.com/en/snappy/\nPS: As already added, this release is still in its beta stages and is not really \u0026ldquo;snappy\u0026rdquo; 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.\n","date":"2015-03-04T12:55:09Z","permalink":"/posts/2015-03-04-rasppi-snappy-ubuntu-core-on-raspberry-pi-2/","title":"[RaspPi] Snappy Ubuntu Core on Raspberry Pi 2"},{"content":"Sadly, some weeks ago, the Micro USB Port of my HDMIPi broke.\nI wrote an letter to Alex Eames, which is quite known for HDMIPi, RasPi.TV and his lattest Kickstarter Project the RasPiO Duino.\nAlex is an awesome guy and gave me his blessings to try to repair that problem myself.\nWith some flux, a fine solder tip and soem patience, you can get that repaired in no time.\nAfter succeeding, I created some strain-relief by using two-component epoxy resin to glue it down a bit. Highly recommended!\nAs 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\u0026rsquo;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.\nSome photos:\n","date":"2015-02-27T10:31:04Z","permalink":"/posts/2015-02-27-rasppi-hdmipi-repair-and-vga-upgrade/","title":"[RaspPi] HDMIPi Repair and VGA Upgrade"},{"content":"1.) Reset Password / Config\nConnect to the router via Serial Cable Power on the router, but send a break during the first 60 seconds of boot time to get to the rommon CLI enter confreg 0x2142 followed by a reset Router is booting up, as soon as it does enter the system configuration dialog, answer the question with no enable conf t config-register 0x2102 exit wr mem (because I just want to overwrite the old config :)!) 2.) ROMMON Upgrade\nGet the latest / needed ROMMON upgrade from Cisco Copy it i.e. to your CF card via Card Reader, TFTP or other means Boot up the router and enter privleged / enable mode Enter the upgrade command: upgrade rom-monitor file flash:\u0026lt;Filename\u0026gt; Answer yes to get the process started After the upgrade the router will reload 3.) Software Upgrade\nGet the latest/needed image from Cisco Just copy it to the CF card via Card Reader, TFTP or other means Reload ","date":"2015-02-08T15:35:45Z","permalink":"/posts/2015-02-08-1841-reset-password-config-rommon-upgrade-and-software-upgrade-on-cisco-1841/","title":"[1841] Reset Password / Config, ROMMON Upgrade and Software Upgrade on Cisco 1841"},{"content":"Here is my presentation to the Raspberry Pi Einführung @ PiAndMore 6 (Saarbrücken, 24.01.2015):\nRPiEinführung_PiAndMore6.pdf (4 MB, PDF)\nand to the Workshop:\nRPiGrundlagenWorkshop_PiAndMore6.pdf (3 MB, PDF)\n","date":"2015-01-26T13:48:08Z","permalink":"/posts/2015-01-26-piandmore-raspberry-pi-einfuhrung-workshop-presentation/","title":"[PiAndMore] Raspberry Pi Einführung / Workshop Presentation"},{"content":"Here is the presentation to my MQTT Talk @ PiAndMore 6 (Saarbrücken, 24.01.2015)\nMQTT_PiAndMore6.pdf (0,9 MB, PDF)\n","date":"2015-01-24T14:30:11Z","permalink":"/posts/2015-01-24-piandmore-mqtt-glue-that-keeps-the-iot-together/","title":"[PiAndMore] MQTT - Glue that keeps the IoT together"},{"content":"As fidepus learned the \u0026ldquo;Python HTTP Server One Liner\u0026rdquo; from anyk, I needed to duplicate this wisdom myself - because I\u0026rsquo;ll forget it as well ;)!\nThese commands will start an HTTP server on the current directory, listening on Port 8080.\nPython 2.X:\npython -m SimpleHTTPServer Python 3.X:\npython -m http.server Original Post and Kudos to: http://www.fidepus.de/2014/05/python-server-one-liner/\n","date":"2015-01-19T21:22:50Z","permalink":"/posts/2015-01-19-python-python-http-server-one-liner/","title":"[Python] Python HTTP Server One Liner"},{"content":"You can actually turn of typographical quotes in i.e. PowerPoint using File, Options, Check on Document, Autocorrection Options, Autoformat while typing. Just uncheck \u0026ldquo;Typographical Quotes\u0026rdquo;, to get the only \u0026quot; \u0026quot; quotes.\n","date":"2015-01-19T21:03:22Z","permalink":"/posts/2015-01-19-office-quotes/","title":"[Office] Quotes"},{"content":"As I wanted to use an older Notebook with ATI Radeon Xpress 1250 Graphics Chip, I needed to get an recent driver.\nSadly, ATI/AMD does not provide drivers for Win 8.1 / 64 Bit for this old chips.\nHowever, with Digitalflem you can create your own \u0026ldquo;old/new\u0026rdquo; Driver:\n1.) Download the ATI Catalyst 10.2 Windows 7 | Vista (64-bit) legacy driver, start the installation and abort it - so you got the files unzipped\n( i.e. from http://downloads.guru3d.com/ATI-Catalyst-10.2-Windows-7-%7C-Vista-%2864-bit%29-download-2478.html )\n2.) Download the latest ATI Catalyst Driver for Windows 8.1 (64-bit), start the installation and abort it - so you got the files unzipped\n( i.e. from http://support.amd.com/de-de/download/desktop?os=Windows+8.1+-+64 )\n3.) Download and install Digitalflem 2.0 from: http://digitalflem.mydiscussion.net/download\n4.) Start Digitalflem 2.0 and follow the Guide: http://digitalflem.mydiscussion.net/guide\n","date":"2015-01-10T22:58:47Z","permalink":"/posts/2015-01-11-win8-1-ati-radeon-xpress-1250-on-windows-8-1-64-bit/","title":"[Win8.1] ATI Radeon Xpress 1250 on Windows 8.1 / 64 bit"},{"content":"Hi there,\nawesome coder TMRh20 did write some cool librarys for the widely used RF24 radio modules.\nThese tiny things work with SPI and thanks to TMRh20s work, you can use them quite easily to connect two RPis.\nYou 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/\nTo make it short and connect to RPis, this is my reciepe, worked out with TMRh20 - Thanks a lot!\n1.) You should connect the RF24 modules to your two RPis like shown here:\nhttps://github.com/TMRh20/RF24Network/tree/Development#connection-info\nI did not change anything in the config but did just connect the modules like mentioned in the table:\nPins:\nPIN -- 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:\nsudo apt-get install libboost1.50-all 3.) Install RF24toTUN on all RPis\nmkdir 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() ) { // \u0026amp;\u0026amp; !radio.available() ) { and change it to: while(!radioTxQueue.empty() \u0026amp;\u0026amp; !radio.available() ) { sudo make install -B 4.) Use the Tunnel on both RPis (you\u0026rsquo;re in the RF24toTUN folder :)!):\nNode 1, Server:\nsudo rf24totun_configAndPing.sh 1 2 answer 0 for Server got now IP: 192.168.1.1 Node 2, Client:\nrf24totun_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.\nAddition:\nIf you want to use the LAN/WAN Connection of the Server RPi from your Client, you need to do following:\na) Server Site:\nsudo 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:\nsudo route add default gw 192.168.1.1 tun_nrf24 # Configure default gateway to the IP of your Server RPi and use the RF24 device to connect to it ","date":"2014-12-26T16:30:14Z","permalink":"/posts/2014-12-26-raspipi-rf24-radio-link-between-2-raspberry-pis/","title":"[RaspiPi] RF24 Radio Link between 2 Raspberry Pis"},{"content":"Sometimes you just need to give wireless access to one of your little toys (i.e. Tablets, Smartphones, Raspberry Pis with Wifi - you name it) - but you got no wifi access point with you. Starting with Windows 7, this ain\u0026rsquo;t a problem anymore. You can setup an software ap in just a minute:\nEnter following code into your command line interface to start an software access point with the SSID WiBridge and the password mh28-dyi9-txwt:\nnetsh wlan set hostednetwork mode=allow ssid=\u0026#34;WiBridge\u0026#34; key=\u0026#34;mh28-dyi9-txwt\u0026#34; keyUsage=persistent\rnetsh wlan start hostednetwork You can check upon your ap via:\nnetsh wlan show hostednetwork And you can stop it with:\nnetsh wlan stop hostednetwork ","date":"2014-12-12T08:02:21Z","permalink":"/posts/2014-12-12-win7-software-accesspoint/","title":"[Win7+] Software Accesspoint"},{"content":"I got an old HP Procurve Switch and wanted to upgrade the firmware.\nAfter booting the switch, we configure the serial link to an Baudrate of 115200, so we won\u0026rsquo;t have to wait all-night for the update to finish.\nconfig\rconsole baud-rate 115200\rexit\rwrite memory\rreload After reloading the switch and configuring our terminal software to 115200 baud, we can start the XModem Upload via:\ncopy xmodem flash primary After that command, the switch waits for an XModem datatransfer to begin. So, just upload your new firmware image via your terminal software, using XModem.\nAnother reload after copying the image will complete the setup.\n","date":"2014-12-12T07:54:01Z","permalink":"/posts/2014-12-12-update-hp-procurve-via-xmodem/","title":"Update HP Procurve via XModem"},{"content":"Internet of Things is the latest buzzword beeing used in the media and a new sector for the entire electronics industry.\nBut connecting every electronic device to the internet disconnects everyone’s privacy in reality. This paper examines the current problems with an normal homebased “Internet of Things” system and how the information technology industry is more concerned with profit versus user security. Ultimately, we need to decide for ourselves whether we want to continue using these types of technology.\nDownload (Paper): STL-TR-2014-02\nDownload (Presentation): Nico-Maas-IoT\n","date":"2014-10-08T11:57:45Z","permalink":"/posts/2014-10-08-paper-insecurity-in-the-internet-of-things/","title":"[Paper] (In)Security in the Internet of Things"},{"content":"Here is my presentation to the Raspberry Pi Einführung @ PiAndMore 5 (Trier, 28.06.2014)\nRPiEinführung_PiAndMore.pdf (3,4 MB, PDF)\nand to the Workshop:\nRPiWorkshop_PiAndMore.pdf (2,6 MB, PDF)\n","date":"2014-06-28T08:00:27Z","permalink":"/posts/2014-06-28-piandmore-raspberry-pi-einfuhrung-presentation/","title":"[PiAndMore] Raspberry Pi Einführung / Workshop Presentation"},{"content":"Here is my presentation to the Where Is My Pi project @ PiAndMore 5 (Trier, 28.06.2014)\nwmp_PiAndMore.pdf (0,7 MB, PDF)\nThe Github project can be found and forked here: https://github.com/nmaas87/whereismypi\n","date":"2014-06-28T07:30:38Z","permalink":"/posts/2014-06-28-piandmore-where-is-my-pi-presentation/","title":"[PiAndMore] Where Is My Pi Presentation"},{"content":"My introduction to Wearables \u0026amp; IoT at the Saarcamp 2014:\nDownload: IOT_Saarcamp.pdf (3 MB)\n","date":"2014-05-24T09:00:14Z","permalink":"/posts/2014-05-24-paper-wearables-iot-presentation/","title":"[Talk] Wearables \u0026 IoT Presentation"},{"content":"User: admin\rPassword: access\rUser: user\rPassword: access ","date":"2014-04-30T15:14:33Z","permalink":"/posts/2014-04-30-brother-brother-mfc-9465cdn-webinterface-password/","title":"[Brother] Brother MFC-9465CDN Webinterface Password"},{"content":"Raspberry Pi - Bad Apple on ili9341 Display\n1.) Enable SPI\n# remove or comment out the spi blacklist line sudo nano /etc/modprobe.d/raspi-blacklist.conf 2.) Install\na) FBTFT drivers as loadable modules\nsudo REPO_URI=https://github.com/notro/rpi-firmware rpi-update sudo shutdown -r now OR\nb) FBTFT drivers built into the kernel proper\nsudo REPO_URI=https://github.com/notro/rpi-firmware BRANCH=builtin rpi-update sudo shutdown -r now 3.) Install the frame buffer driver (as root):\napt-get install xserver-xorg-video-fbdev 4.) Configure frame buffer driver:\nsudo vi /usr/share/X11/xorg.conf.d/99-fbdev.conf Section \u0026#34;Device\u0026#34; Identifier \u0026#34;myfb\u0026#34; Driver \u0026#34;fbdev\u0026#34; Option \u0026#34;fbdev\u0026#34; \u0026#34;/dev/fb1\u0026#34; EndSection 5.) add Autostart:\n( the gpios= Pins need to be changed to YOUR specification and connection! )\nsudo vi /etc/modules\nfbtft_device custom name=tm022hdh26 gpios=reset:25,led:23,dc:24 rotate=90 bgr=1 #on my selfbuild shield #from usb -\u0026gt; sd card laengs #fbtft_device custom name=tm022hdh26 gpios=reset:25,led:23,dc:24 rotate=180 bgr=1 #from cinch -\u0026gt; hdmi quer #fbtft_device custom name=tm022hdh26 gpios=reset:25,led:23,dc:24 rotate=270 bgr=1 6.) add Auto login:\nsudo vi /etc/inittab\n#1:2345:respawn:/sbin/getty --noclear 38400 tty1 1:2345:respawn:/bin/login -f pi tty1 \u0026lt;/dev/tty1 \u0026gt;/dev/tty1 2\u0026gt;\u0026amp;1 7.) add Autostart X:\nsudo vi /etc/rc.local su -l pi -c \u0026#34;env FRAMEBUFFER=/dev/fb1 startx \u0026amp;\u0026#34; 8.) Console at boot\nAdd kernel argument to file /boot/cmdline.txt\nfbcon=map:10 Infos taken from:\nhttps://github.com/notro/fbtft/wiki#install\nhttp://marcosgildavid.blogspot.de/2014/02/getting-ili9341-spi-screen-working-on.html\nVideo was played with this worm-of-a-command-string:\nsudo mplayer -nolirc -vo fbdev2:/dev/fb1 -fs -x 320 -y 240 -zoom -framedrop -lavdopts lowres=1:fast:skiploopfilter=all ~/BadApple.avi ","date":"2014-04-27T15:14:36Z","permalink":"/posts/2014-04-27-rasppi-raspberry-pi-and-the-ili9341-display/","title":"[RaspPi] Raspberry Pi and the ili9341 Display"},{"content":"If your network doesn\u0026rsquo;t do networking anymore - and it comes down to the Windows IP Stack, try reseting it this way:\n(In Admin CMD):\nnetsh int ip reset C:\\netsh.log.txt\rnetsh winsock reset After that, reboot\n","date":"2014-04-26T15:13:16Z","permalink":"/posts/2014-04-26-win7-reset-ip-stack/","title":"[Win7+] Reset IP Stack"},{"content":"So, thats no joke: OpenSSL broke badly!\nHere is the background: https://heartbleed.com/\nAnd as there is no zero-hour-fix for Ubuntu (including 12.04 LTS\u0026hellip;), I decided to take chances and overwrite my existing OpenSSL 1.0.1 with the new code. It worked out flawlessly - but your system could REALLY break. Thats as dirty as it possibly could get!\nwget http://www.openssl.org/source/openssl-1.0.1g.tar.gz\rtar -xvzf openssl-1.0.1g.tar.gz\rcd openssl-1.0.1g/\r./config --prefix=/usr\rsudo make\rsudo make test\rsudo make install ","date":"2014-04-07T14:00:49Z","permalink":"/posts/2014-04-07-ubuntu-upgrade-openssl-to-1-0-1g-heartbleed-bug-urgent/","title":"[Security Spotlight] Upgrade OpenSSL to 1.0.1g - Heartbleed Bug - Urgent!"},{"content":"Hello there,\ntonight I got my Intel Galileo Dev Board and I decided to do an Unboxing Video.\nThe first one for me - so.. be kind ;): Youtube\nRegards,\nNico\n","date":"2014-04-03T18:13:57Z","permalink":"/posts/2014-04-03-arduino-intel-galileo-board-unboxing-video/","title":"[Arduino] Intel Galileo Board Unboxing Video"},{"content":"As I had to quickly come up with two DS18B20 Sensors for the Raspberry Pi, I decided to built them \u0026ldquo;quick and dirty\u0026rdquo; without any breadboard. It is not the most beautiful nor the best way, but it works out quite well. With one exception: It seems like the sensor is too near to the Pi and picks up heat from it :/. Anyway, here are some photos:\nThat is how it would look like later.\nAdding some female header to the base. We need 5 Pins for that. The first pin is going to be connected to 3,3V, the fourth to the GPIO Pin 4 and the fifth to ground. So just cut the pins 2 and 3 from that header.\nAdd an resistor to pull the Data Pin high to 3,3V. You should use an 4,7k Ohm, but anything between 4,7k - 10k Ohm should work out. I used an 10k Ohm here.\nSolder the two pins of the resistor to Pin 1 and Pin 4. Do NOT short with Pin 5!\nAdd some silver wire to the fifth Pin.\nSolder the DS18B20 to the Pins. Watch out for the curved side of the Sensor, it has to face upwards!\nI choose to secure the whole sensor against short circuits and stuff with hot glue. Looks ugly, but does the trick.\nLast thing is installing the sensor in the left upper corner of the GPIO Pins of your Raspberry Pi.\nAfter booting you have to activate the One Wire protocol like this:\nsudo modprobe w1-gpio\rsudo modprobe w1-therm Then you can read your sensor by using this command:\ncat /sys/bus/w1/devices/28*/w1_slave If you want to get your reading nicely formatted, you should install bc with\nsudo apt-get install bc and use this code:\necho \u0026#34;`cat /sys/bus/w1/devices/28*/w1_slave | grep t | cut -d= -f2`/1000\u0026#34; | bc -l | awk \u0026#39;{printf \u0026#34;%.2f \\n\u0026#34;, $1}\u0026#39; ","date":"2014-03-29T16:53:18Z","permalink":"/posts/2014-03-29-rasppi-really-poor-mans-ds18b20-temperature-sensor/","title":"[RaspPi] Really poor mans DS18B20 Temperature Sensor"},{"content":"As a lot of people asked for the OpenWRT / Raspberry Pi Images, I decided to make a new version which replaces the old one from this post ([RaspPi] OpenWRT Trunk with latest Raspberry Pi 3.10.18+ #585 Kernel – as Image download.\nThat said, the rules haven\u0026rsquo;t changed:\nIt is the trunk version of OpenWRT, injected with the latest Raspberry Pi Kernel opkg list does contain the current stable package list for the OpenWRT RPi port of the latest stable release and will work out of the box (opkg update, opkg install..) Most packages like apache should work out of the box – but kernel moduls could/will probably fail. I won’t build an package mirror and won’t build packages because of limitied time. Sorry! Other than the normal behavior, the RPi does use DHCP to get its IP Adress. To connect for the first time, use nmap to find your RPi in your network. (Then connect via telnet, set an password with passwd and you’re good to use SSH finally!) The main partition size has been changed from 48 MB to 64 MB – giving you additional space You can just download and use the (7zip-ed) image here: rpi_openwrt_2.7z [ 6.1 MB ]\nI WON\u0026rsquo;T BUILD PACKAGES!\nThis is for the fact that I neither got enough time, nor CPU power at hand.\nSorry :(!\n","date":"2014-03-11T18:09:24Z","permalink":"/posts/2014-03-11-rasppi-openwrt-trunk-with-latest-raspberry-pi-3-10-32-648-kernel-as-image-download/","title":"[RaspPi] OpenWRT Trunk with latest Raspberry Pi 3.10.32+ #648 Kernel – as Image download"},{"content":"So, now something a little bit more personal: We all know about the problems in our modern world: NSA, espionage, data stealing / selling, and such. We all use computer systems on an daily base and we know about the importance of cryptography. BUT: We don\u0026rsquo;t really all have an masters degree in computer crypto or such. We all do things in a \u0026ldquo;well, should be quite right\u0026rdquo;-way. Because, well - we have a life and a lot of stuff to do. We can\u0026rsquo;t really tell apart which ciffer to use and such. But now - we don\u0026rsquo;t need to - anymore. Please visit https://bettercrypto.org/ and read their paper. It got excellent \u0026ldquo;Copy \u0026rsquo;n Paste\u0026rdquo; configuration commands for your Apache, Postfix, Mail, etc, etc!\nLet\u0026rsquo;s make the world an better and more secure place. For us and all our users!\nThanks :)!\n","date":"2014-01-03T20:45:57Z","permalink":"/posts/2014-01-03-security-bettercrypto-org-applied-crypto-hardening/","title":"[Security] BetterCrypto.org - Applied Crypto Hardening"},{"content":"Got Windows 8.1 installed? MTP doesn\u0026rsquo;t work?\nWell - maybe you got the Windows 8.1 N Version installed. The Version without Windows Media Player - and without MTP Drivers!\nJust install the Windows Media Feature Pack for Windows 8.1 - reboot - and it works. It\u0026rsquo;s Magic, ain\u0026rsquo;t it?!\n","date":"2013-12-17T11:59:58Z","permalink":"/posts/2013-12-17-win8-1-android-mtp-doesnt-work/","title":"[Win8.1] Android MTP doesn't work"},{"content":"If you killed your trusty grub (i.e. by new Install of Windows 8.. :/) you can repair it quite easily:\nBoot with an Ubuntu 12.04 Live CD CTRL + ALT + T sudo add-apt-repository ppa:yannubuntu/boot-repair\rsudo apt-get update\rsudo apt-get install -y boot-repair \u0026amp;\u0026amp; boot-repair And click on the repair button! Done!\nSource: http://askubuntu.com/questions/333483/how-to-restore-grub-after-deleting-it-from-windows-8-disk-manager\n","date":"2013-11-20T16:19:32Z","permalink":"/posts/2013-11-20-ubuntu-12-04-resolve-grub-boot-problems/","title":"[Ubuntu 12.04] Resolve Grub Boot Problems"},{"content":"Very funny coincidence: Exactly one year after my devastating test of Windows 8 on the EEE PC 1015PN (here) I tried Windows 8 again - 8.1 to be frankly.\nAfter booting from the DVD, I entered my Key and choose to keep my data and such - an Upgrade Installation. Sadly, installer told me that I needed to choose that after booting into Windows 7 and starting the installation process there. Well, I did. But I only could choose to keep my data - not my programs(!). Sad, but - well. So - if you want to install and keep your stuff: Try to install Windows 8 first and then upgrade to Windows 8.1! I made an backup (just in any case - last time showed me the importance again\u0026hellip;) and started with the installation. I took quite a while, but in the end it succeded. This time (and maybe because I changed my Wifi/Bluetooth Card from Azure for an Intel ABGN/WiMax Card?!) - I got none problems with Wifi. Working excellent from the first moment on.\nI even got Optimus working by following my own tutorial [Win7] Asus EEEPC 1015PN: Getting Optimus working (again) on Windows 7 Pro, by using the mentioned Versions.\nConcerning other drivers and tools: I installed successfully the Optimus Tool, Capshook Driver - all by using the Windows 7 Compability Mode. ( I needed to use that as well on the Optimus Driver installation!)\nRegarding - especially - the AHCI Drivers (Hotkey Service) and the SuperHybridEngine Tool - well: First of them gives REAL problems. It won\u0026rsquo;t work and always remind to install an working AHCI Driver. Luckily, some guys found out an way to change that: Just install these tools from an newer ASUS EEE PC - the Asus 1225B. And that does work! Link: http://netbooknetwork.net/2012/windows-8-asus-missing-acpi-driver, Drivers: http://www.asus.com/Notebooks_Ultrabooks/Eee_PC_1225B/#support - Good thing: Without the blocking AHCI Drivers Optimus does work correctly. But fixing ACPI is not enough. You need to setup the right Touchpad Driver!\nAbout the Touchpad? Well - you need another Hack for Windows 8: Go with these. I chose the Elantech Touchpad driver Version v.10.6.6.0.\nWhat I really changed? Well I did some normal stuff like disabeling the User Rights Control Thingy - as well as I changed the Resolution of the Display with this little hack. That got the Metro Apps working and my display from 1024x600 to 1152x864. Ok, it is not very crispy - but really gives more usability. ( Just watch for the \u0026ldquo;Display1_DownScalingSupported\u0026rdquo; setting in the registry and enable it )\nTo get back your classic Start Menu Button - use: http://www.classicshell.net/\nOk, that was a lot of stuff and I am curious to see how Windows 8.1 will perform in \u0026ldquo;real life\u0026rdquo;. Well, I am off to installing some more tools and such.\n","date":"2013-11-17T11:47:46Z","permalink":"/posts/2013-11-17-win8-1-eee-pc-1015pn-and-windows-8-1/","title":"[Win8.1] EEE PC 1015PN and Windows 8.1"},{"content":"An freshly installed Ubuntu got the root Account set to the best and most secure state ever: DISABLED!\nBut if you use ready-made Appliances and such, most of these Ubuntu Appliances come with an enabled Root Account. How to disable this account? Easy:\nsudo usermod -p \u0026#39;!\u0026#39; root Source: https://serverfault.com/questions/178080/how-do-i-disable-root-login-in-ubuntu\n","date":"2013-11-15T18:56:26Z","permalink":"/posts/2013-11-15-disable-root-account-in-ubuntu/","title":"Disable Root Account in Ubuntu"},{"content":"[2013-11-02 08:26:51 - SearchViewDemo] Dx\rtrouble writing output: already prepared\r[2013-11-02 08:26:51 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.\r[2013-11-02 08:26:51 - SearchViewDemo] Conversion to Dalvik format failed: Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace. Well that happend to me as I tried to build my latest project.\nSolution was quite simple but\u0026hellip; strange.\nJust remove all newer Android SDK build-tools (i.e. 19) until the Version 18.1.1 with the Android SDK Manager.\nRestart Eclipse. And it will work.\nIf not, try to add the Support Libraries (Right click on your Android Project in Eclipse, choose Android Tools, Add Support Library)\nIssue and solutions found here: https://code.google.com/p/android/issues/detail?id=61710\n","date":"2013-11-11T10:16:24Z","permalink":"/posts/2013-11-11-android-failed-to-build-eclipse-android-project-fix/","title":"Android Failed to Build Eclipse Android Project Fix"},{"content":"THIS POST IS OUTDATED! A NEW IMAGE HAS BEEN POSTED! PLEASE USE THE SEARCH FUNCTION TO FIND THE LATEST VERSION!\nAs I found out that the old tutorials weren\u0026rsquo;t helpful and either the OpenWRT Trunk OR the Raspberry Pi Kernel broke the build process (you can still build it successfully, but you won\u0026rsquo;t be able to use the RPi after boot!) - I sat down and found an new way. This time I don\u0026rsquo;t let the kernel build by the OpenWRT enviroment, but insert an healthy and prebuilt one by the RPi Team ;)!\nYou can just download and use the (7zip-ed) image here: rpi_openwrt.7z [ 6.1 MB ]\nThere are several changes to the normal version:\nopkg list does contain the current stable package list for the OpenWRT RPi port of the latest stable release and will work out of the box (opkg update, opkg install..) Most packages like apache should work out of the box - but kernel moduls could/will probably fail. I won\u0026rsquo;t build an package mirror and won\u0026rsquo;t build packages because of limitied time. Sorry! Other than the normal behavior, the RPi does use DHCP to get its IP Adress. To connect for the first time, use nmap to find your RPi in your network. (Then connect via telnet, set an password with passwd and you\u0026rsquo;re good to use SSH finally!) The main partition size has been changed from 48 MB to 64 MB - giving you additional space All the best,\nNico\n","date":"2013-11-10T17:49:53Z","permalink":"/posts/2013-11-10-rasppi-openwrt-trunk-with-latest-raspberry-pi-3-10-18-585-kernel-as-image-download/","title":"[RaspPi] OpenWRT Trunk with latest Raspberry Pi 3.10.18+ #585 Kernel - as Image download"},{"content":"Recently I got an error on trying to upgrade my Android SDK, claming that I would not be able to access an URL. I was looking around the Internet and got the information that I should first upgrade the Eclipse Plugin. OK!\nUpgrading AVT:\nIn Eclipse go to Help Install New Software - Add inside Add Repository write the Name: ADT and Location: https://dl-ssl.google.com/android/eclipse/ after loading you should get Developer Tools and NDK Plugins check both if you want to use the Native Developer Kit (NDK) in the future or check Developer Tool only click Next Finish and Restart Eclipse Source: http://stackoverflow.com/questions/14869929/update-android-sdk-tool-to-22-0-4latest-version-from-22-0-1\nOk, that got my Plugin to the latest version. But I still could not upgrade to the latest SDK. And thats when I found out that you need to start the SDK Manager as Administrator (right click, run as Administator) - and voilá: Upgrade successfully.\nSource: http://stackoverflow.com/questions/4771895/android-sdk-manager-not-installing-components\n","date":"2013-11-04T13:21:34Z","permalink":"/posts/2013-11-04-win7-upgrade-error-in-android-sdk-for-windows/","title":"[Win7] Upgrade Error in Android SDK for Windows"},{"content":"Optimus is a really nice concept: Having installed an low-power Intel GMA3150 next to an \u0026ldquo;high-end\u0026rdquo; (compared to the Intel ;)) NVIDIA ION2 with 512 MB RAM (and CUDA!) is very nice - switching between both cards on the fly depending on the application - awesome. But getting it to work can be quite painful. I had to reinstall the drivers on my EEE PC and got it wrong. And now that it is working, I just want to write it down. Just in case, you never know ;)!\n1.) Get Windows 7 Pro or better installed\n2.) Get all the Updates on your system\n3.) Install and start the GraphicsSwitch for Windows 7 from Asus for your EEEPC 1015PN\n4.) Choose Optimus Mode and reboot your system.\n5.) Install the Intel Driver. Latest and working version is the GMA3150 15.12.75.50.7.2230\nYou can download that here: https://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y\u0026DwnldID=19494\u0026lang=eng\u0026wapkw=gma+3150 After that, reboot!\n6.) Install the Nvidia Driver. Latest and working version (for me) is the Verde 301.42 driver. You get that here: http://www.nvidia.com/download/driverResults.aspx/44972/en-us - Could be that a newer version does work to, but thats what I came up with after trying a lot of different versions. After installing, reboot.\n7.) You should be done. Right-click on your Desktop, choose NVIDIA Systemsettings. In these settings you can enable two cool options from the \u0026ldquo;Desktop\u0026rdquo; menu:\na.) \u0026ldquo;Start with graphics processor to context menu\u0026rdquo; - with right click on an Application you can choose to start that program with your highend gpu\nb.) \u0026ldquo;Show Actitivy Symbol in Infobar\u0026rdquo; - that does show you whenever the GPU is working on something. And if that symbol does not show up some boots later - well, that mostly says that some update broke your Optimus Setup.\nBut by now, I think you know how to get that up and running again! 🙂\n","date":"2013-10-23T14:48:55Z","permalink":"/posts/2013-10-23-win7-asus-eeepc-1015pn-getting-optimus-working-again-on-windows-7-pro/","title":"[Win7] Asus EEEPC 1015PN: Getting Optimus working (again) on Windows 7 Pro"},{"content":"You can find my slides from the elektor Live 2013, Raspberry Pi 101 Workshop here: elektor_RPi_2013_Maas.pdf [ 6,1 MB ]\nThe handout or \u0026ldquo;cheat-sheet\u0026rdquo; can be downloaded here: elektor_RPi_2013_Maas_Cheat_Sheet.pdf [ 0,4 MB ]\n\u0026hellip; and finally, you find the Sourcecode of the Sample Projects here: elektor_RPi_2013_Maas_Sourcecode.zip [ 0,03 MB ]\nVideorecording of the talk can be found here\n","date":"2013-10-12T07:15:18Z","permalink":"/posts/2013-10-12-elektor-live-2013/","title":"elektor Live 2013"},{"content":"You can find my slides of the elektor Expert Meeting 2013 here: elektor_ER2013_Maas.pdf [1,2 MB]\nAlso, you can find my presentation to the sun//well (RPi, MSP430 and ATTiny85) project here as well as the video (PiAndMore 3 - sun//well Project) to that presentation.\n","date":"2013-10-11T10:05:55Z","permalink":"/posts/2013-10-11-elektor-expert-meeting/","title":"elektor Expert Meeting 2013"},{"content":"Download spidev_test.c for Pingback Testing of RPi spi: spidev_test.c\nTest: Short MISO and MOSI Pin on your RPi, GPIO9 / GPIO10\nwget \u0026lt;spidev_test.c above\u0026gt; gcc spidev_test.c sudo ./a.out If you get some different Output than all 0, everything is fine\n","date":"2013-10-05T17:18:52Z","permalink":"/posts/2013-10-05-rpi-spidev_test-file/","title":"[RPi] spidev_test File"},{"content":"I appreciate art and I love music. And I just can\u0026rsquo;t get enough of it: I really love to listen to my collection on \u0026ldquo;near all devices\u0026rdquo;: On the Netbook while doing work at the University, on the Tablet while sitting on the couch or on my Phone - while running or commuting. That said, there is always the little and persistent problem of synchronizing data.\nGoogle solved that problem by starting \u0026ldquo;Google Music\u0026rdquo;: You can upload 20.000 Songs from your collection and listen to them - again and again - for free. Awesome!\nBut before you rush out and start getting your uplink glowing - let me share two \u0026ldquo;words of advice\u0026rdquo;:\n1.) Clean your collection and tags. Yeah, you saw that comming and you hate it. Everyone does. But it is the only way to get fun out of your collection. Don\u0026rsquo;t try to upload and correct that stuff later. It just won\u0026rsquo;t work and will frustrate you. So do yourself a favor and work out that little errors and problems. Get in some cover pictures, too. MP3tag ( http://www.mp3tag.de/ ) was my tool of choice and works awesome. While using the latest WinAMP to convert Audiofiles from foreign Formats to MP3 - and to look for \u0026ldquo;a little too strange songs\u0026rdquo; via the Autotagger - you will get these files ordered in reasonable time.\n2.) Your only way to upload your music to Google is by using the Music Manager Tool. It seems straight forward and easy - but it is kind of buggy. Look out for \u0026ldquo;not uploaded\u0026rdquo; files by checking files from your HDD against your Google Music Account. Music Manager tends to \u0026ldquo;overlook\u0026rdquo; files and can\u0026rsquo;t be pushed to upload certain missing files by adding another folder with the same, missing files. The only thing that is working out is browising to C:\\Users%username%\\AppData\\Local\\Google\\MusicManager and deleting the files there [Win 7 Path]. Especially the Database / db File. After restarting Music Manager, the tool will reindex your files and upload missing ones. If \u0026ldquo;Johnfail\u0026rdquo; wouldn\u0026rsquo;t had found this Workaround, I would still be sitting ducks. Here is the original post: http://johnfail.wordpress.com/2012/01/12/more-google-music-upload-failure/\nThanks a lot :)!\nOther than that - enjoy your music! 🙂\n","date":"2013-10-04T21:06:29Z","permalink":"/posts/2013-10-04-google-music-or-how-do-i-get-all-my-music-online/","title":"[Google Music] Or: How do I get all my music online?"},{"content":"I just wanted to mention that I got an \u0026ldquo;Raspberry Pi Basics\u0026rdquo; Workshop at the elektor Live 2013 in Frankfurt, Hanau (12.10.2013). The first workshop is already fully booked and an second timeslot has been opened. So feel free to come over and let me introduce you to the 101 of the Raspberry Pi.\nLink: https://www.elektor-live.com/\n","date":"2013-09-30T09:08:33Z","permalink":"/posts/2013-09-30-visit-me-elektor-live-2013/","title":"Visit me @ elektor Live 2013"},{"content":"This is about building the latest Kernel / 3.10 for RPi. Bleeding Edge.\nPreperations sudo apt-get install git libncurses5 libncurses5-dev qt4-dev-tools qt4-qmake pkg-config build-essential gcc-arm-linux-gnueabi bc # NEEDS BC!!!! Clone Stuff mkdir rpi_kernel_10 cd rpi_kernel_10 git clone https://github.com/raspberrypi/tools.git git clone https://github.com/raspberrypi/linux.git cd ~/rpi_kernel_10/linux/.git git branch -a cd ~/rpi_kernel_10/linux git checkout -t -b rpi-3.10.y remotes/origin/rpi-3.10.y git pull cd ~/rpi_kernel_10 git clone https://github.com/raspberrypi/firmware.git cd ~/rpi_kernel_10/firmware/.git git branch -a cd ~/rpi_kernel_10/firmware git checkout -t -b next remotes/origin/next git pull cd ~/rpi_kernel_10 Make Kernel cd linux make mrproper mkdir ../kernel # Kernel Types # find . -name \\*bcmrpi\\*config -print # ./arch/arm/configs/bcmrpi_emergency_defconfig # ./arch/arm/configs/bcmrpi_defconfig # ./arch/arm/configs/bcmrpi_cutdown_defconfig make O=../kernel/ ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- bcmrpi_defconfig make O=../kernel/ ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- menuconfig #xconfig #Device Drivers-\u0026gt;Input Device Support-\u0026gt;TouchScreens-\u0026gt;USB Touchscreen Driver (Build it into or as module, check if eGalax here!) make O=../kernel/ ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k -j3 cd ../ cd tools/mkimage ./imagetool-uncompressed.py ../../kernel/arch/arm/boot/Image cd ../../ Make Modules cd kernel mkdir ../modules/ make modules_install ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- INSTALL_MOD_PATH=../modules/ Install Kernel on existing RPi SD Card / Raspbian # mount sdcard in your Ubuntu (I made an folder sdb1 for boot partiton and sdb2 for the root partition) cd ~ mkdir sdb1 sdb2 mount /dev/sdb1 sdb1 mount /dev/sdb2 sdb2\r# boot partition #replace /sdb1/boot/bootcode.bin with rpi_kernel_10/firmware/boot/bootcode.bin sudo rm ~/sdb1/bootcode.bin cp ~/rpi_kernel_10/firmware/boot/bootcode.bin ~/sdb1/ #replace /sdb1/boot/kernel.img with the previously created kernel image sudo rm ~/sdb1/kernel.img cp ~/rpi_kernel_10/tools/mkimage/kernel.img ~/sdb1/ #replace /sdb1/boot/start.elf with rpi_kernel_10/firmware/boot/start.elf sudo rm ~/sdb1/start.elf cp ~/rpi_kernel_10/firmware/boot/start.elf ~/sdb1/\r# root partition #replace /sdb2/lib/firmware with \u0026lt;modules_builded_above_folder\u0026gt;/lib/firmware sudo rm -rf ~/sdb2/lib/firmware/ sudo cp -a ~/rpi_kernel_10/modules/lib/firmware/ ~/sdb2/lib/ #replace /sdb2/lib/modules with \u0026lt;modules_builded_above_folder\u0026gt;/lib/modules sudo rm -rf ~/sdb2/lib/modules/ sudo cp -a ~/rpi_kernel_10/modules/lib/modules/ ~/sdb2/lib/ #replace /sdb2/opt/vc with firmware-next/hardfp/opt/vc/ sudo rm -rf ~/sdb2/opt/vc sudo cp -a ~/rpi_kernel_10/firmware/hardfp/opt/vc/ ~/sdb2/opt/\r# sync usb mount sync\r# Unmount sdcard cd ~ umount sdb1 umount sdb2 Boot Pi and calibrate Touchscreen This stuff happens on the Pi! Preperations sudo apt-get install libx11-dev libxext-dev libxi-dev x11proto-input-dev Install Tool / xinput_calibrator cd ~ wget http://github.com/downloads/tias/xinput_calibrator/xinput_calibrator-0.7.5.tar.gz tar -xvzf xinput_calibrator-0.7.5.tar.gz cd xinput_calibrator-0.7.5 ./configure make sudo make install Calibrate (in Xserver, so open Terminal while beeing in Graphical User Mode) xinput_calibrator It will give output like this:\nCalibrating EVDEV driver for \u0026#34;eGalax Inc. USB TouchController\u0026#34; id=8 current calibration values (from XInput): min_x=1938, max_x=114 and min_y=1745, max_y=341\rDoing dynamic recalibration: Setting new calibration data: 121, 1917, 317, 1741 --\u0026gt; Making the calibration permanent \u0026lt;-- copy the snippet below into \u0026lsquo;/etc/X11/xorg.conf.d/99-calibration.conf\u0026rsquo;\nSection \u0026#34;InputClass\u0026#34; Identifier \u0026#34;calibration\u0026#34; MatchProduct \u0026#34;eGalax Inc. USB TouchController\u0026#34; Option \u0026#34;Calibration\u0026#34; \u0026#34;121 1917 317 1741\u0026#34; Option \u0026#34;SwapAxes\u0026#34; \u0026#34;1\u0026#34; EndSection Use the Output after \u0026ldquo;\u0026ndash;\u0026gt; Making the calibration permanent \u0026lt;\u0026ndash;\ncopy the snippet below into \u0026lsquo;/etc/X11/xorg.conf.d/99-calibration.conf\u0026rsquo;\u0026rdquo;\nAnd copy the part after that into following file:\nsudo mkdir /etc/X11/xorg.conf.d sudo vi /etc/X11/xorg.conf.d/01-input.conf After that, save, exit and reboot.\nThat should conclude your newly \u0026ldquo;Custom baked Kernel\u0026rdquo; and your EGalax Touchscreen Support.\nThanks a lot to http://engineering-diy.blogspot.de/2013/01/adding-7inch-display-with-touchscreen.html http://mitchtech.net/raspberry-pi-kernel-compile/ - Raspberry Pi Kernel Compile\nand http://karuppuswamy.com/wordpress/2013/01/17/how-to-get-evtouch-touch-screen-kit-working-in-linux/\nfrom which I learnt and borrowed most of the stuff and tips and rewrote this How To with minor changes\nUpgrade\ncd linux make mrproper git pull cd ../tools git pull cd ../firmware git pull ","date":"2013-09-12T19:26:33Z","permalink":"/posts/2013-09-12-rasppi-build-raspberry-pi-kernel-3-10-next-for-debian-wheezy-raspbian-with-egalax-touchscreen-support-on-ubuntu-12-04/","title":"[RaspPi] Build Raspberry Pi Kernel 3.10 / NEXT for Debian Wheezy / Raspbian with eGalax Touchscreen Support on Ubuntu 12.04"},{"content":"In terms of backups, I still love Rsync / DeltaCopy. Rsync is an awesome protocol, as it does only transmit data changes. So it is extremly useful if you are running on an slow dataconnection and try to backup big data chunks or files you are working on. It does save time as well.\nThe problem: DeltaCopy (which was developed by Synametrics) is not supported anymore and has been replaced by their (non free) tool Syncrify. (And no, the free Personal Edition does not count as a useable alternative!). Problem with DeltaCopy would be the really old Version of the used rsync Part. But don\u0026rsquo;t worry, it is really easy to update that one (and that will resolve many problems including the ones experienced with special character filenames etc).\nMartin Edenhauser has got one of the latest versions of rsync for windows as download on his blog - just go there, grab the 3.0.9 (or other latest version) and unzip it into your C:\\Program Files\\Synametrics\\DeltaCopy folder, overwriting the old files. (And don\u0026rsquo;t forget to do it on the Server Side as well, if you are using the DeltaCopy Server as well !)\nThanks Martin for your great work!\n","date":"2013-09-08T14:57:45Z","permalink":"/posts/2013-09-08-win-update-deltacopy/","title":"[Win] Update DeltaCopy"},{"content":"I could not help myself but felt the need to have at least one real \u0026ldquo;Dual Boot\u0026rdquo; system (not VMWare Stuff) - so I setup my Asus EEE PC 1015 PN with the Ubuntu 12.04 LTS according to mtrons excellent Tutorial ( https://sites.google.com/site/mtrons/howtos/eeepc-1015pn ) which worked out right out of the box.\nBut - as I haid some trouble with the old Broadcom Wifi/BT Card in Windows 7, I went for an Intel 6250 AGN/WiMax Card. I do not use WiMax and would love an BT option - but the price point of that card on ebay finally got me to press the \u0026ldquo;Buy now\u0026rdquo; button. I thought \u0026ldquo;Well, it is an Intel Card - that should work quite well and stop throwing me out of the University Wifi with no chance but doing an hard reboot of the Laptop to solve the problem\u0026rdquo; - yeah - it really did. BUT - somehow, after some time and updates to the Ubuntu System, I lost connectivity: Network Manager was nagging for the password all the time - without a reason. Finally I found the solution on this website: http://askubuntu.com/questions/104651/how-do-i-get-wireless-working-on-an-asus-notebook-u56e - with some changes.\nFrom Kernel \u0026gt; 3.1 on, the wifi driver is not called iwlagn but iwlwifi, so your changes would go in that way:\nsudo /etc/modprobe.d/iwl.conf and add these options to the file. First does deactivate the not existing BT Module on the card, second does disable N networks, which could avoid other problems:\noptions iwlagn bt_coex_active=0 options iwlagn 11n_disable=1 Reboot and you are done\nAnother problem was the Optimus system: The Dual GPU Option of the system, packing an Intel GMA as well as an Nvidia ION Graphics on the board, with the choice of changing between both on the fly. That did work according to mtrons guide, BUT after an kernel upgrade - the acpi_call module did not work anymore - and with that the optimus tool. Help to that problem could be found here: http://hybrid-graphics-linux.tuxfamily.org/index.php?title=Acpi_call with the following changes:\ncd /usr/src/acpi_call-1.1.1/ # got an newer version of acpi_call sudo dkms add -m acpi_call -v 1.1.1 # did throw an error as the module already existed sudo dkms build -m acpi_call -v 1.1.1 # rebuild the module sudo dkms install -m acpi_call -v 1.1.1 # reinstalled it to the kernel sudo modprobe acpi_call # reload module modinfo acpi_call # show some infos And thats it!\nI am quite happy with the performance of Ubuntu on the system and I will keep it a while. I also tried the latest Debian, but was not that satisfied with it :/! So long!\n","date":"2013-09-06T14:57:03Z","permalink":"/posts/2013-09-06-ubuntu-12-04-eee-pc-1015-pn-with-ubuntu-12-04-lts/","title":"[Ubuntu 12.04] EEE PC 1015 PN with Ubuntu 12.04 LTS"},{"content":"Some things make life easier. Think about your data. And the way you used to share it. USB Sticks, DVD, CD-Rom, Harddisks - are a thing of the past. Many people use services like Dropbox, Google Drive, Box and similar on a daily routine. Some of those did not think about data security - and just dropped everything into the cloud: From bank data to keys and passwords and such\u0026hellip; Others did think about those problems and tried to secure their important files via means as encryption like TrueCrypt. But that did come at a cost: Loss of usability: You just cannot open a file on your Android Smartphone on the fly. And occasionally, somehow the TrueCrypt drive would be uploaded as copy a second time to the Dropbox. Really nasty.\nBut then, Secomba came up with their product: BoxCryptor. A neat little piece of software, mounting an \u0026ldquo;Cloud Folder\u0026rdquo; as local harddrive and enc- and decrypting files on the fly, while you are accessing these files via the mentioned local mount. Secomba was not reinventing the wheel at that time, they were just using EncFS, already known in the Unix World. And that was really good, as you could just use the BoxCryptor files in Unix via the means of EncFS. The Apps, developed for iPhone, Android and the Chrome Browser did work perfectly. All in all: I would recommend these tools and am using them on a daily base. And I would recommend you the same.\nBUT:\nUse the old, deprecated BoxCryptor CLASSIC stuff.\nHu? Yeah! You read right. Use old, deprecated, soon-to-be stuff. Or use the new BoxCryptor without the cool features\u0026hellip; Ok. Well I should explain why I distrust Secomba, the corporation which earned Awards from Golem, heise, Forbes, c\u0026rsquo;t and so on and on: Secomba, as every corporation tries to make a living from their software, and that is absolutly fine with me. Secomba did create BoxCryptor a new, labelling the \u0026ldquo;old\u0026rdquo; Version BoxCryptor Classic, creating the new one with corporations and secure file sharing, i.e. Teamworking in mind. And by doing that, they had to introduce a new feature: Centralized Storage of your BoxCryptor Keys. On their own server. Yes, that is right. You upload the keys to your files, bound to your Secomba Account to their servers, if you choose to use the new mode. You can, however, disagree with that and use it like in classic mode - BUT the new BoxCryptor seems to be incompatible with EncFS, and - even better: You cannot use new BoxCryptor on more than 2 Devices - you have to pay for more\u0026hellip; Well, that was another feature that did work on the classic free version - but not anymore.\nThese are all reasons why I would recommend using BoxCryptor Classic for your cloud files security - but discourage the use of the new BoxCryptor 2.0 - even without using the \u0026ldquo;Save-my-Keys-to-the-Cloud\u0026rdquo; function - because in my opinion, it is just a devolution of an excellent tool.\nAnd one last word to the \u0026ldquo;Share Secure Online Function\u0026rdquo;: If you really would like to share a file securely via the net: Send a TrueCrypt drive or host your own local server. Seriously, if you are a CIO, could you advise your people to upload encrypted data - and the passwords - to a server or service - not under your control? If you would answer this rhetorical question with \u0026ldquo;Yes\u0026rdquo; - then beg my pardon - but I do not want to work with you and your corporation anymore.\nAs the link to the (still security patched and updated!) BoxCryptor Classic is a bit hidden under the new and shiny BoxCrytor 2.0 stuff\u0026hellip; There you go: https://www.boxcryptor.com/de/boxcryptor-classic\n","date":"2013-09-05T08:18:17Z","permalink":"/posts/2013-09-05-security-spotlight-the-worst-idea-in-a-brave-new-world-the-all-new-boxcryptor-2-0/","title":"[Security Spotlight] The worst idea in a brave new world: The all-new Boxcryptor 2.0"},{"content":"What are we doing here?\nAs far as I understand the problem, there are two worlds:\nRaspberry Pi Foundation on the one hand, the OpenWRT Team on the other one.\nOpenWRT does try to patch \u0026ldquo;Default Kernels\u0026rdquo; until they work out with the intended Plattform, which does work in most cases very well.\nThe problem is, RPi is an new target for the latest OpenWRT Release - and does work - but it does not get much love of the devs:\nNo trunk compiles or nightlys of the Image or the packages - i.e.\nAnd - the \u0026ldquo;so patched Kernel\u0026rdquo; does not represent the state of the art of the RPi Kernel Development at all:\nI got many errors of the \u0026ldquo;first days of Pi\u0026rdquo;, like the loved \u0026ldquo;SDcard error\u0026rdquo; which corrupted the whole filesystem and such.\nUser arsiskk of the raspberrypi-openwrt project had the same problem.\nThe rpi-openwrt project tried to deliever the first OpenWRT Experience to the RPi Users - competing with OpenWRT - and succeeded.\nBut the problem somehow remained: The old kernel was lingering there and the Team seemed to have given up the project after RPi\nbecame an official target (https://code.google.com/p/raspberrypi-openwrt/).\nSo arsiskk developed a procedure to compile the raspberrypi-openwrt Code with the latest RPi Kernel - which worked awesome.\nBut as the project seems to be quite dead now - I tried to convert his idea and use it on the offical OpenWRT Trunk Sourcetree.\nAnd that worked.\nSo long story short, what are we doing here?\nWe grab the trunk OpenWRT official source code, load the offical RPi Kernel into it, delete a bunch of files\nwhich would only be needed to supply an standard kernel with a bit of RPi support and compile it.\nIn the end we will have the latest OpenWRT trunk with the latest RPi Kernel.\nThe only problem: You would sometimes need to rebuild packages which do not work with the official, but old (3.6.11, compared to OpenWRTs 3.10.4) Kernel.\nAnd - you can\u0026rsquo;t update the OpenWRT trunk that easily.\nIt is basically an \u0026ldquo;build and throw away\u0026rdquo; system.\nBut it works!\nDependencies needed sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip Prepare Enviroment (Trunk) cd ~ mkdir rpi_openwrt cd rpi_openwrt git clone git://git.openwrt.org/openwrt.git cd openwrt mkdir dl # Install Packages ./scripts/feeds update -a ./scripts/feeds install -a Check Enviroment make defconfig make prereq Download Kernel and Prepare: cd /tmp wget https://github.com/raspberrypi/linux/archive/rpi-3.6.y.tar.gz tar xfvz rpi-3.6.y.tar.gz mv linux-rpi-3.6.y linux-3.6.11 tar cvf - linux-3.6.11/ | lzma \u0026gt; linux-3.6.11.tar.xz mv linux-3.6.11.tar.xz ~/rpi_openwrt/openwrt/dl/ Prepare Target cd ~/rpi_openwrt/openwrt/target/linux/brcm2708/ vi Makefile change LINUX_VERSION to LINUX_VERSION:=3.6.11 mkdir patches-3.6 cp config-3.10 config-3.6 cd ../generic/ cd patches-3.6 #if not exists, dl latest official openwrt, copy files from openwrt/target/linux/generic/patches-3.6 to here # Normally it should be ok to just remove some of the patches like this: rm \\*-mips\\* rm \\*-phy\\* rm a* rm 880-gateworks_system_controller.patch #But in case there are still errors on the make target/linux/{clean,prepare} V=99 Stage, #remove all files except these, keep these files: (openwrt specific patches) 200-fix_localversion.patch 621-sched_act_connmark.patch 201-extra_optimization.patch 630-packet_socket_type.patch 202-reduce_module_size.patch 640-bridge_no_eap_forward.patch 210-darwin_scripts_include.patch 641-bridge_always_accept_eap.patch 211-stddef_include.patch 642-bridge_port_isolate.patch 212-byteshift_portability.patch 643-bridge_remove_ipv6_dependency.patch 220-module_exports.patch 644-bridge_optimize_netfilter_hooks.patch 230-openwrt_lzma_options.patch 650-pppoe_header_pad.patch 250-netfilter_depends.patch 651-wireless_mesh_header.patch 251-sound_kconfig.patch 652-atm_header_changes.patch 252-mv_cesa_depends.patch 653-disable_netlink_trim.patch 253-ssb_b43_default_on.patch 655-increase_skb_pad.patch 254-textsearch_kconfig_hacks.patch 900-slab_maxsize.patch 255-lib80211_kconfig_hacks.patch 910-kobject_uevent.patch 256-crypto_add_kconfig_prompts.patch 911-kobject_add_broadcast_uevent.patch 257-wireless_ext_kconfig_hack.patch 920-unable_to_open_console.patch 258-netfilter_netlink_kconfig_hack.patch 921-use_preinit_as_init.patch 260-move_bcm963xx_tag.patch 930-crashlog.patch 600-netfilter_layer7_2.22.patch 940-ocf_kbuild_integration.patch 601-netfilter_layer7_pktmatch.patch 941-ocf_20120127.patch 602-netfilter_layer7_match.patch 950-vm_exports.patch 603-netfilter_layer7_2.6.36_fix.patch 960-decompress_unlzo_fix.patch 604-netfilter_cisco_794x_iphone.patch 970-remove-unsane-filenames-from-deps_initramfs-list.patch 610-netfilter_match_bypass_default_checks.patch 980-arm_openwrt_machtypes.patch 611-netfilter_match_bypass_default_table.patch 992-mpcore_wdt_fix_watchdog_counter_loading.patch 612-netfilter_match_reduce_memory_access.patch 993-mpcore_wdt_fix_wdioc_setoptions_handling.patch 613-netfilter_optional_tcp_window_check.patch 994-mpcore_wdt_fix_timer_mode_setup.patch 620-sched_esfq.patch Make cd ~/rpi_openwrt/openwrt/ make menuconfig # Choose BCM2708 Chipset, Raspberry Pi Board, Exit and Save make target/linux/{clean,prepare} V=99 # does extract kernel and patch it make kernel_oldconfig # builds some tools make kernel_menuconfig # configures kernel make menuconfig # to change RPi Patterns, i.e.: # Packages rep: # Image configuration -\u0026gt; Version configuration options -\u0026gt; Release Repo to: # http://downloads.openwrt.org/attitude_adjustment/12.09/%T/generic/packages # Main Partition Size from 48 to 64: # Target Options -\u0026gt; Root File System Size, change from 48 to 64 MB or more # Exit and Save make V=99 -j 3 Files are in ~/rpi_openwrt/openwrt/bin/brcm2708\n( i.e. openwrt-brcm2708-sdcard-vfat-ext4.img )\nNew build:\nmake kernel_menuconfig make menuconfig make V=99 -j 3 Inspiration and Help:\nhttp://wiki.openwrt.org/doc/howto/build\nhttps://code.google.com/p/raspberrypi-openwrt/issues/detail?id=11\n","date":"2013-09-04T14:55:36Z","permalink":"/posts/2013-09-04-rasppi-how-to-compile-openwrt-trunk-with-latest-raspberry-pi-kernel-for-the-rpi-on-ubuntu-12-04/","title":"[RaspPi] How To Compile OpenWRT Trunk with latest Raspberry Pi Kernel 3.6 for the RPi on Ubuntu 12.04"},{"content":"Windows 7 / 8 do limit the number of files you can \u0026ldquo;batch-work\u0026rdquo; with, after selecting them in Explorer and Right-Clicking for options. The Standard Limit is set to 15 files. Selecting more than 15 files will remove options like \u0026ldquo;Print\u0026rdquo; from the context menu. To work with more than 15 files in batch mode, open your registry ( Run, regedit ) and go to\nHKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer Create an new DWORD key with the Name MultipleInvokePromptMinimum and the Decimal Value of the Maximum Files you want to batch work with. I.e. 1000 (which could be too much or not enough - depending on your work and machine!)\nAnd thats it. If you want to reset that option, just delete the created DWORD key again.\n","date":"2013-09-04T12:48:23Z","permalink":"/posts/2013-09-04-win78-batch-print-work-with-more-than-15-files/","title":"[Win7/8] Batch Print / Work with more than 15 Files"},{"content":"Preperations sudo apt-get install git libncurses5 libncurses5-dev qt4-dev-tools qt4-qmake pkg-config build-essential gcc-arm-linux-gnueabi bc Clone Stuff mkdir rpi_kernel cd rpi_kernel git clone https://github.com/raspberrypi/tools.git git clone https://github.com/raspberrypi/linux.git git clone https://github.com/raspberrypi/firmware.git cd ~/rpi_kernel/firmware/.git git branch -a cd ~/rpi_kernel/firmware git checkout -t -b next remotes/origin/next git pull cd ~/rpi_kernel Make Kernel cd linux make mrproper mkdir ../kernel # Kernel Types # find . -name \\*bcmrpi\\*config -print # ./arch/arm/configs/bcmrpi_emergency_defconfig # ./arch/arm/configs/bcmrpi_defconfig # ./arch/arm/configs/bcmrpi_cutdown_defconfig make O=../kernel/ ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- bcmrpi_defconfig make O=../kernel/ ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- menuconfig #xconfig #Device Drivers-\u0026gt;Input Device Support-\u0026gt;TouchScreens-\u0026gt;USB Touchscreen Driver (Build it into or as module, check if eGalax here!) make O=../kernel/ ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k -j3 cd ../ cd tools/mkimage ./imagetool-uncompressed.py ../../kernel/arch/arm/boot/Image cd ../../ Make Modules cd kernel mkdir ../modules/ make modules_install ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- INSTALL_MOD_PATH=../modules/ Install Kernel on existing RPi SD Card / Raspbian # mount sdcard in your Ubuntu (I made an folder sdb1 for boot partiton and sdb2 for the root partition) cd ~ mkdir sdb1 sdb2 mount /dev/sdb1 sdb1 mount /dev/sdb2 sdb2\r# backup config cp ~/sdb1/config.txt ~/rpi_kernel/ # boot partition sudo rm -rf ~/sdb1/* # Copy all Files from boot cp -R ~/rpi_kernel/firmware/boot/* ~/sdb1/ #replace /sdb1/boot/kernel.img with the previously created kernel image sudo rm ~/sdb1/kernel.img cp ~/rpi_kernel/tools/mkimage/kernel.img ~/sdb1/ # restore config cp ~/rpi_kernel/config.txt ~/sdb1/\r# root partition #replace /sdb2/lib/firmware with \u0026lt;modules_builded_above_folder\u0026gt;/lib/firmware sudo rm -rf ~/sdb2/lib/firmware/ sudo cp -R ~/rpi_kernel/modules/lib/firmware/ ~/sdb2/lib/ #replace /sdb2/lib/modules with \u0026lt;modules_builded_above_folder\u0026gt;/lib/modules sudo rm -rf ~/sdb2/lib/modules/ sudo cp -R ~/rpi_kernel/modules/lib/modules/ ~/sdb2/lib/ #replace /sdb2/opt/vc with firmware-next/hardfp/opt/vc/ sudo rm -rf ~/sdb2/opt/vc sudo cp -R ~/rpi_kernel/firmware/hardfp/opt/vc/ ~/sdb2/opt/\r# sync usb mount sync\r# Unmount sdcard cd ~ umount sdb1 umount sdb2 Boot Pi and calibrate Touchscreen # This stuff happens on the Pi! Preperations sudo apt-get install libx11-dev libxext-dev libxi-dev x11proto-input-dev Install Tool / xinput_calibrator cd ~ wget http://github.com/downloads/tias/xinput_calibrator/xinput_calibrator-0.7.5.tar.gz tar -xvzf xinput_calibrator-0.7.5.tar.gz cd xinput_calibrator-0.7.5 ./configure make sudo make install Calibrate (in Xserver, so open Terminal while beeing in Graphical User Mode) xinput_calibrator It will give output like this:\nCalibrating EVDEV driver for \u0026#34;eGalax Inc. USB TouchController\u0026#34; id=8 current calibration values (from XInput): min_x=1938, max_x=114 and min_y=1745, max_y=341\rDoing dynamic recalibration: Setting new calibration data: 121, 1917, 317, 1741 --\u0026gt; Making the calibration permanent \u0026lt;-- copy the snippet below into \u0026lsquo;/etc/X11/xorg.conf.d/99-calibration.conf\u0026rsquo;\nSection \u0026#34;InputClass\u0026#34; Identifier \u0026#34;calibration\u0026#34; MatchProduct \u0026#34;eGalax Inc. USB TouchController\u0026#34; Option \u0026#34;Calibration\u0026#34; \u0026#34;121 1917 317 1741\u0026#34; Option \u0026#34;SwapAxes\u0026#34; \u0026#34;1\u0026#34; EndSection Use the Output after \u0026ldquo;\u0026ndash;\u0026gt; Making the calibration permanent \u0026lt;\u0026ndash;\ncopy the snippet below into \u0026lsquo;/etc/X11/xorg.conf.d/99-calibration.conf\u0026rsquo;\u0026rdquo;\nAnd copy the part after that into following file:\nsudo mkdir /etc/X11/xorg.conf.d sudo vi /etc/X11/xorg.conf.d/01-input.conf After that, save, exit and reboot.\nThat should conclude your newly \u0026ldquo;Custom baked Kernel\u0026rdquo; and your EGalax Touchscreen Support.\nThanks a lot to http://engineering-diy.blogspot.de/2013/01/adding-7inch-display-with-touchscreen.html http://mitchtech.net/raspberry-pi-kernel-compile/ - Raspberry Pi Kernel Compile and http://karuppuswamy.com/wordpress/2013/01/17/how-to-get-evtouch-touch-screen-kit-working-in-linux/\nfrom which I learnt and borrowed most of the stuff and tips and rewrote this How To with minor changes\nUpgrade\ncd linux make mrproper git pull cd ../tools git pull cd ../firmware git pull # then make and build like shown above Check hard/softfp version of OS\n${CCPREFIX}gcc -v 2\u0026gt;\u0026amp;1 | grep hard ","date":"2013-09-02T14:54:35Z","permalink":"/posts/2013-09-02-rasppi-build-raspberry-pi-kernel-for-debian-wheezy-raspbian-with-egalax-touchscreen-support-on-ubuntu-12-04/","title":"[RaspPi] Build Raspberry Pi Kernel for Debian Wheezy / Raspbian with eGalax Touchscreen Support on Ubuntu 12.04"},{"content":"Here is my presentation to the sun//well project @ PiAndMore 3 (Trier, 15.06.2013)\nsunwell_PiAndMore.pdf (2,2 MB, PDF)\nVideorecording of the talk can be found here\n","date":"2013-06-15T14:21:52Z","permalink":"/posts/2013-06-15-piandmore-sunwell-presentation/","title":"[PiAndMore] sun//well Presentation"},{"content":"My introduction to the Raspberry Pi at the https://www.saarcamp.org / Saarcamp 2013:\nDownload: RaspberryPi_Saarcamp.pdf (1,49 MB)\n","date":"2013-05-25T13:21:54Z","permalink":"/posts/2013-05-25-paper-raspberry-pi-presentation/","title":"[Talk] Raspberry Pi Presentation"},{"content":"Following my presentation, feel free to download the final paper.\nDownload: Nico Maas - Cyberwar (Paper) PDF\n","date":"2013-02-20T18:10:16Z","permalink":"/posts/2013-02-20-paper-cyberwar-just-warcraft-in-space/","title":"[Paper] Cyberwar – Just „Warcraft in Space?“"},{"content":"The Java 7 Update 13 has been released by Oracle. You should make sure to download it from http://www.java.com/download asap.\n","date":"2013-02-05T10:28:32Z","permalink":"/posts/2013-02-05-java-7-update-13-hotfix/","title":"Java 7 Update 13 Hotfix"},{"content":"All the presentations and videos are now online: https://sites.google.com/site/piandmore/downloads/zweites-treffen\n","date":"2013-01-24T07:18:31Z","permalink":"/posts/2013-01-24-piandmore-videos-online/","title":"[PiAndMore] Videos online"},{"content":"Following my presentation on the JCTixx Scanner, shown at the PiAndMore 2, 17.01.2013 @ Hochschule Trier.\nDownload: JCTixx_PiAndMore.pdf [1 MB]\nVideorecording of the talk can be found here\n","date":"2013-01-18T08:16:46Z","permalink":"/posts/2013-01-18-piandmore-jctixx-scanner/","title":"[PiAndMore] JCTixx Scanner"},{"content":"The Java 7 Update 11 has been released by Oracle. You should make sure to download it from http://www.java.com/download asap.\n","date":"2013-01-14T11:33:32Z","permalink":"/posts/2013-01-14-java-7-update-11-hotfix/","title":"Java 7 Update 11 Hotfix"},{"content":"Prof. Simon Cox has written an awesome tutorial about turning multiple RaspPis into an \u0026ldquo;Supercomputer Cluster\u0026rdquo;. He himself build an cluster of 64 RaspPis at the University of Southampton. I could not resist but rebuild his project - with the 3 \u0026ldquo;old\u0026rdquo; (256MB) Pis I got. It turned out to be an quite awesome and interessting experience, introducing myself to MPI (Message Passing Interface) for the first time. You should definitly take a look yourself.\nhttp://www.southampton.ac.uk/~sjc/raspberrypi/\n","date":"2013-01-11T18:48:53Z","permalink":"/posts/2013-01-11-rasppi-supercomputing-with-rasppi-mpi/","title":"[RaspPi] Supercomputing with RaspPi / MPI"},{"content":"A presentation and (upcoming) paper which I wrote for an Seminar (Applied Informatics)\nCyberwar is a buzz word used widely in media today, but the problem is no one really knows what it even means.\nWhat is Cyberwar? What does Cyberwar include or imply? Is it like real war - and if so, where does it take place? Which corperations deliever the needed weapons and how do they look like?\nDownload: Nico Maas - Cyberwar PDF\n","date":"2013-01-05T22:59:36Z","permalink":"/posts/2013-01-05-cyberwar-just-warcraft-in-space/","title":"Cyberwar - Just „Warcraft in Space?“"},{"content":"Flash. It does crash, has many security flaws and is quite horrible. But nevertheless, it is still widely used. I.e. in flash videos, like on Youtube. But now, you got a choice: To switch to HTML5 Videos. On Youtube.\nTo do so, goto / jump ( 🙂 ): http://www.youtube.com/html5\nThere you can activate / deactivate HTML5 and Testdrive the new features.\n","date":"2012-12-03T17:00:25Z","permalink":"/posts/2012-12-03-web-youtube-in-html5/","title":"[Web] Youtube in HTML5"},{"content":"Needed for Android SD Card partitioning or Raspberry Pi gambling:\nMiniTool Partition Wizard http://www.partitionwizard.com/free-partition-manager.html Awesome Tool for Windows, can part and format even EXT4. It is small, fast and easy to use. SD Card Formatter https://www.sdcard.org/downloads/formatter_3/ Official Tool of the SD Card Foundation. Can format even problematic cards. Image Writer for Windows https://launchpad.net/win32-image-writer/+download Great to write .img Images to disks. ","date":"2012-11-27T08:51:26Z","permalink":"/posts/2012-11-27-win-windows-partition-tools/","title":"[Win] Windows Partition Tools"},{"content":"If your printers do disappear, check the spooler:\nStart, Run, services.msc - enable Spooler / Druckerwarteschlange and - there they are again.\n","date":"2012-11-23T12:17:06Z","permalink":"/posts/2012-11-23-win7-printer-disappeared/","title":"[Win7] Printer disappeared"},{"content":"I have been using my EEE PC 1015PN for nearly 2 years now, and I am quite satisfied with it. But after the release of Windows 8, I wanted to try it, too. So I decided to upgrade install from my Windows 7 Professional to Windows 8 Professional. Before this test, I made an Acronis Image, which turned out to be an really good idea. Installation itself needed about 1 1/2 hour, as I decided to upgrade and not start from scratch.\nThe first problem started to come up after going to the desktop and trying to change the brightness \\ wifi connectivity by using the FN Keyboard Shortcuts: \u0026ldquo;Asus ACPI Driver missing\u0026rdquo;, was the error. So I tried to reinstall the needed keyboard drivers, and Optimus Tool (1015PN uses an Intel as well as an NVIDIA Graphicscard).\nAfter rebooting, I was able to choose the Optimus setting within the tool, and I could also change screen brightness with the FN Keyboard Shortcuts - but nothing else.\nSo I decided to shutdown the PC, enable WIFI in the BIOS and reboot - to check WIFI Connectivity, as well as to see the Intel Graphics active in Windows 8. So I pressed the \u0026ldquo;Save and Reboot\u0026rdquo; shortcut in the bios - and that was the last thing I saw.\nAfter that, the EEE PC tried to boot once, and then stopped working, rebooting again - boot loop. But not after 20 seconds of boot, no, it already fried seconds after starting the boot process. Even disabling WIFI in BIOS again or pressing F8 manically - nothing could help. The system was killed.\nAfter trying for a good amount of time, I restored the Windows 7 backup. And thats it. My first Windows 8 impression turned out to be even worse than Windows Vista. And well, that was something.\n","date":"2012-11-15T11:00:05Z","permalink":"/posts/2012-11-15-win8-eee-pc-1015pn-and-windows-8/","title":"[Win8] EEE PC 1015PN and Windows 8"},{"content":"OpenWRT is one of my most \u0026ldquo;beloved\u0026rdquo; operating systems ever. I am using it since 2006, already. It is very small (\u0026gt;= 4 MB), light weight and therefore an excellent choice for embedded computing or very small appliances. I have used it on several occasions (\u0026ldquo;prototype\u0026rdquo;) in my blog, but never actually gave a heads up in terms of \u0026ldquo;What is it?\u0026rdquo; - So, let’s get rid of that:\nOpenWRT is a debian linux derivate especially made for routers. OpenWRT does derive from the famous Linksys WRT series, which were based on Linux. One of the founders found out about that and got Linksys (by pointing out about the caveats of the used Linux GPL License) to the point of releasing the source code (except the wifi drivers). From the point on, OpenWRT was founded and the project began to write an own \u0026ldquo;router linux\u0026rdquo;. On the course of that adventure, several forks of OpenWRT were founded (i.e. FreeWRT) - but in the end, OpenWRT remained \u0026ldquo;THE\u0026rdquo; third hand firmware for your router. Nowadays OpenWRT does support a load of routers out of the box, with famous titles like the Linksys WRT Series or even hardware like the Seagate Dockstar (which was an sort of NAS Appliance for Seagate Hard drives).\nBut the project did not stop on providing an firmware: With ipkg and later opkg, they also did offer packages to configure your own router experience. By using an simple build system, nearly everyone is able to configure his personal firmware and setup the things he likes. While in the beginning, only router related stuff (like wifi tools or pppoe dialers and such) was available, also big programs like recent mysql, web or file servers are found in the packet manager.\nUsing this little, flexible OS in cooperation with the GPIO ports of an router, software defined Inputs and Outputs, you can use your router to switch on lights, close your garage door or sound an alarm as soon as some sensors tell your router to do so. Especially with the appearance of the Raspberry Pi and its GPIOs, fast CPU, big RAM and storage, this could be the OS of your choice.\nSo the next time you think about throwing away your old router, check https://openwrt.org/ and see whether you can make it do some cool stuff.\nYou will be surprised.\n","date":"2012-11-15T06:00:32Z","permalink":"/posts/2012-11-15-openwrt/","title":"OpenWRT"},{"content":"At the 23. of August 2012, the University of Trier held the first Raspberry Pi Convention in Germany. It was a little, but awesome gig with about 30 IT Students and other interested people.\nThe main idea was to rise the awareness for the new microcomputer, called \u0026ldquo;Raspberry Pi\u0026rdquo; which combines an 700 MHz ARM Processor, 512 MB of RAM, Full HDMI Output, Audio, Ethernet and USB into an very small and affordable package (about 35 US Dollar). With this microcomputer, and its General Purpose Input and Outputs (GPIO), pupils can actually have a \u0026ldquo;hands-on\u0026rdquo; (in) physical computing. That means: Connecting software (i.e. Python, Perl, C programs) with the real world. For example: Controlling LEDs, driving motors or even react on buttons, attached to the GPIO port. Combining these possibilities into a small and affordable package started a big hype about this little computer, long before it was even available to the public.\nBut now, about half a year after the release, multiple versions and even more Operating Systems started to appear. Even a special modified Debian version, called Raspbian is ready to download. There are special versions of Arch Linux, Fedora, XBMC (a Multimedia Entertainment Center) and even a special version of OpenWRT is under development. During this meeting, the participants had the opportunity to listen to speaks (an Intro to the RaspPi, a Speech about Cross compiling and the I2C Bus System) and workshops (driving an LED, building the so called \u0026ldquo;Ladder Game\u0026rdquo;, getting a Nokia 3310 LCD Display to work as Output). The overall response was great as well as the conference itself and I would wish to have additional meetings in the future.\nOn this occasion I also want to thank the organization of the PiAndMore, especially the Fachschaft of the University of Trier and Daniel Fett. You made an awesome job. Please keep it up.\nAdditional pictures and infos can be found on my JCTixx Project Twitter Account @JCTixx\nOfficial Stuff:\nFacebook Event https://www.facebook.com/events/330497597037314/ Twitter Account (@PiAndMore) Google Site https://sites.google.com/site/piandmore/ ","date":"2012-11-14T18:17:32Z","permalink":"/posts/2012-11-14-raspberry-pi-con-pi-and-more/","title":"Raspberry Pi Con \"Pi and More\""},{"content":"Following my work on IPv6/Dualstack EIGRP Routing on c3560 I did create an IPv6 Primer / Presentation for my staff and other technical interessted people. So if you are interessted in an little insight to my work and IPv6, feel free to download this file (German, about 1 MB): IPv6, Nico Maas (2012) PDF\n","date":"2012-11-14T13:37:17Z","permalink":"/posts/2012-11-14-ipv6-primer-presentation/","title":"IPv6 Primer \\ Presentation"},{"content":"Developing Websites with XAMPP is always neat and nice: Compact package, everything you need is there - and even having it portable on an USB Stick (in an TrueCrypt file ;)) will get you up and running on every Windows PC - where ever you are - in no time. But the problem with this solution comes with the \u0026ldquo;Host PC\u0026rdquo;: There are a lot of tools nowdays which hijack and use Port 80 (your most beloved Webserver / Apache Standard Port) for their own needs. And so you are quickly on the point of \u0026ldquo;Apache terminated\u0026rdquo; in your XAMPP Windows - because of the blocked port. Finding out which program is blocking / using that port is easy, as XAMPP comes with an \u0026ldquo;Port-Check\u0026rdquo; Tool which can be used from the XAMPP Control Panel. Other than that, here is the TOP 4 of the most annoyning port blocking apps:\n4.) Teamviewer (as commented by Teufelsauge)\nA remote desktop tool which can be configured to run as background service, listening to port 80 and 443.\n3.) Apache\nYeah, thats right. Some people got an old Apache setup running - set up years ago and forgotten in the background. Sounds stupid, but as most errors are - this is one of the most nasty ones. So check your memory before jumping to wrong conclusions.\n2.) Microsoft SQL Server\nIt is an SQL Server! Not an Webserver! Why the heck would\u0026hellip; Yeah, right: It DOES block port 80. Open services.msc from your \u0026ldquo;Run As\u0026rdquo; Dialog and look out for \u0026ldquo;Sql server reporting services(MSSQLSERVER)\u0026rdquo;. Set it to disabled and stop it. Port 80 freed, hurray!\n1.) Skype\nTo bypass corporate security standards and firewalls, Skype can use Port 80 and even Port 443 (SSL) as workaround. And it does that, by default. To disable that, start Skype and go to Tools -\u0026gt; Options - \u0026gt; Advanced -\u0026gt; Connection. Disable \u0026ldquo;Use port 80 and 443 as alternatives for incoming connections\u0026rdquo;.\n","date":"2012-11-14T08:09:07Z","permalink":"/posts/2012-11-14-windows-port-80-blocked/","title":"[WinXP/Vista/7] Port 80 Blocked"},{"content":"To show active stationary wifi accesspoints, use following command:\nnetsh wlan show networks mode=bssid in the commandline. Very helpful to get shown the current wifi situation for a customer within going out to him/her with Ekahau or another site survey tool.\n","date":"2012-04-13T06:18:28Z","permalink":"/posts/2012-04-13-windows-vista7-wlan-site-survey/","title":"[WinVista/7] WLAN \"Site Survey\""},{"content":"We just got an Netgear WNCE2001 - and the need to support it.\nBasically, its an Wireless -\u0026gt; Ethernet Converter which does bridge an WIFI Network to an LAN / Ethernet Connector.\nYou need to install it via WDS System or - plug it into an PC / Laptop, DHCP Client on and configure it via Webbrowser before using it on an \u0026ldquo;dump\u0026rdquo; ethernet-only device. Problem: The device itself asks for an IP Adress (to be configured after inital stage) and the connected Ethernet Client does ask itself again - some DHCP Servers don\u0026rsquo;t like that behavior, as far as it seems. So, our workaround was following: Giving the WNCE2001 an static assigned IP by the DHCP Server and \u0026ldquo;blocking\u0026rdquo; another IP for the Client. The Client has been configured statically and does now work as it was intended to be.\nNotes:\n\u0026ldquo;First\u0026rdquo; Client Adress internal DHCP Server of the WNCE2001 does offer before inital Configuration: 192.168.1.100\nIP of the WNCE2001: 192.168.1.251\nDNS: http://www.mywifiext.com\nVersion: 1.0.0.26\n/UPG_upgrade.htm\n/MNU_menu.htm\n","date":"2011-07-26T11:14:48Z","permalink":"/posts/2011-07-26-netgear-wnce2001-notes/","title":"Netgear WNCE2001 Notes"},{"content":"1.) Find an suitable image on cisco.com [i.e. s72033-adventerprisek9_wan-mz.122-33.SXJ1.bin ]\n2.) Copy the image to the CF of active Supervisor by TFTP or FTP\ncopy tftp://IP/images/s72033-adventerprisek9_wan-mz.122-33.SXJ1.bin disk0: 3.) Verfiy the image against the MD5 and internal checksum\nverify /md5 disk0:s72033-adventerprisek9_wan-mz.122-33.SXJ1.bin verify disk0:s72033-adventerprisek9_wan-mz.122-33.SXJ1.bin 4.) Delete old Software on active Supervisor CF\ndel sw1-slot5-disk0:s72033-ipservicesk9_wan-mz.122-33.SXI5.bin 5.) Unconfigure other Boot Images\nconf t no boot system config-register 0x2102 boot system flash disk0: end copy running-config startup-config 6.) Reload active Supervisor\nredundancy reload shelf 1 7.) Wait for the ex-Active to come up again on local Console, sh redundancy should tell you that the ex-Active is now in Cold Standby as there is an Image mismatch. Thats ok, Image does work, so now lets swap the CF cards\n8.) Reload now active Supervisor\nredundancy reload shelf 2 9.) Wait for the second System to come up again, the VSS should run again in Active / Standby Hot Mode\n10.) Copy Bootimage from shelf2 (with CF of shelf1) to shelf1 CF\ncopy sw-2-slot5-disk0:s72033-adventerprisek9_wan-mz.122-33.SXJ1.bin sw-1-slot5-disk0: 11.) Delete other old images form shelf1 CF\n12.) Done\nNot the best / Cisco way, but it should hold your Active / Standby Config in right order.\n","date":"2011-07-14T11:59:34Z","permalink":"/posts/2011-07-14-vss-upgrading-software-on-c6509e-vss-sup720-10ge/","title":"[VSS] Upgrading Software on c6509e-VSS / Sup720-10GE"},{"content":"If your old Software does challange an special / old Version of IE, you can fulfill that requirement without another Virtual Maschine by installing IETester.\nhttp://www.my-debugbar.com/wiki/IETester/HomePage\nI would loved to had known that Software a bit earlier.\nI ran into serval problems in upgrading an Zyxel 2000W Wlan Phone by using Win7 with Firefox 3.6 / IE 7.\nI couldn\u0026rsquo;t find the \u0026ldquo;Browser for Upgrade File\u0026rdquo; bar, so I tried everything on the net, including Chrome.\nIn the end, I used an Virtual PC / Windows 98SE(!) which I keep handy for\u0026hellip; stuff - and could upgrade the phone.\n","date":"2011-07-13T14:09:21Z","permalink":"/posts/2011-07-13-ie-simulate-other-ie-version-with-ie-tester/","title":"[IE] Simulate other IE Version with IE Tester"},{"content":"On 16.06.2011 Microsoft fixed an Security Issue with Samba which ended in Windows Users beeing unable to access Unix Samba Shares by using Plain Text Authentication.\nBy removing Security Update KB2536276 and rebooting you can enable your client again - or you patch your samba server, which is the real source of error - Microsoft did just fix an flaw.\nhttps://bugzilla.samba.org/show_bug.cgi?id=8238\nhttps://bugzilla.samba.org/attachment.cgi?id=6593\nInfos taken from:\nhttp://answers.microsoft.com/en-us/windows/forum/windows_xp-windows_update/kb2536276-windows-xp-pc-get-system-error-58-when/d9dbdde5-2666-4423-b47c-fbdb80b995d9\n","date":"2011-07-07T14:07:43Z","permalink":"/posts/2011-07-07-samba-windows-client-cant-access-unix-samba-share-kb2536276/","title":"[Samba] Windows Client can't access Unix Samba Share KB2536276"},{"content":"An \u0026ldquo;Multi-Tab\u0026rdquo; Putty Version?\nDoes that exist?\nNo - putty does not do tabs, neither any custom version.\nBut theres an so called \u0026ldquo;Putty Connection Manager\u0026rdquo; which does mange your Sessions 256 bit AES encrypted as well as do Multiple Tabs via wrapping Putty multiple times within itself! http://puttycm.free.fr/cms/index.php\n","date":"2011-07-06T09:59:00Z","permalink":"/posts/2011-07-06-putty-multiple-tabs-with-putty/","title":"[Putty] Multiple Tabs with Putty"},{"content":"The about: Addresses in Firefox are powerful parameters to change the behaviour of Firefox or watch stats. Therefore:\nabout:config - Configuration Stuff about:memory - Memory Consumption about:robots - Easter Egg ","date":"2011-07-02T16:23:31Z","permalink":"/posts/2011-07-02-firefox-abouteverything/","title":"[Firefox] about:everything"},{"content":"IPv6.\nEveryone is talking about it.\nAnd not too soon, ppl will need it.\nAs my corporation needs to switch to v6 soon, I\u0026rsquo;ll started to work into this hexadecimal notated nightmare ;-).\nI\u0026rsquo;ll got some basic stuff written down already - but I\u0026rsquo;m not feeling like starting off IPv6 in my blog with too much boring theory.\nSo lets jump into a full blown network! ^^\nTada!\nWell - its not too \u0026ldquo;full blown\u0026rdquo; - but a working network at last: We got our Routers, Switches, PCs and EIGRP - and an Application thats driven by IPv4 and IPv6 called \u0026ldquo;ping\u0026rdquo; and \u0026ldquo;ping6\u0026rdquo; - thats something, ain\u0026rsquo;t it?\nBut first: What is Dual Stack? Well. Thats an easy one: Running your network on Dual Stack does mean using IPv4 and IPv6 in co-existence. Nothing more and nothing less. Your normal Ethernet Switch does Switch IPv4 and IPv6 the same - as Layer 2 does not differ between both. Layer 2 is MAC, IPv4/6 do come in mind on Layer 3 - to the Routers mind, so to say.\nSadly, I don\u0026rsquo;t had any Cisco 1841 or similar machines for this project - and I did wanted to test these settings in an rather small Lab before jumping to our \u0026ldquo;spare\u0026rdquo; Cisco VSS Team and hacking that thing to kingdom come. Therefore, I used serval Catalyst 3560 PC 8, which are small Cisco Layer3+ Switches and could replace the routers.\nTo get the Switches to become IPv6 Routers, we need to install an new IOS with IP-Services Feature Set or higher. You can do that be erasing the Switch flash and download an new IOS by using the archive sw command from an tftp ( archive download-sw /allow-feature-upgrade /reload tftp://IP/c3560-ipservicesk9-tar.122-55.SE.tar ). As you see, I did use the 12.2(55)SE Firmware, as the new 58 got some really nasty changes in Terms of Smartport Features.\nAfter our Switch(es) did reload, we need to configure an new SDM Template. The Switching Database Manager is not some piece of software, in truth its more some kind of ressource template. By changing this SDM Template, you change the way how the Ternary Content Addressable Memory (TCAM) is seperated. The TCAM is an very small but fast piece of RAM which does save Information like MAC Addresses, Routes, VLANs and so on. If you change the SDM Template, you change the amount of space which is avaiable for an Information. i.e. VLANs. If you choose the \u0026ldquo;Routing\u0026rdquo; Template - your Switch will put more memory onto Routes, if you choose the \u0026ldquo;VLAN\u0026rdquo; Template, your switch will support more VLANs but disable routing - and if you choose \u0026ldquo;Default\u0026rdquo;, you get an mix of both. So, SDM Templates can be mission critical. And, they are fixed! You can\u0026rsquo;t change the amount or divison of memory - only which template is used. As we want to use our Switch not only as Layer 2 Device, but DualStack Router, we need to change to an DualStack Routing SDM template - to really support IPv6 and Routing.\nsdm prefer dual-ipv4-and-ipv6 routing is the right command for this. You need to reload your switch after this change! After the reload, we got our \u0026ldquo;router\u0026rdquo; ready. So, lets start by setting up our SW1 as EIGRPv4 Router. First we go to our Client Interface (f0/3):\nconf t int vlan 3\rip address 192.168.2.1 255.255.255.0\rno shut\rint f0/3\rswitchport access vlan 3\rspanning-tree portfast\rno shut\rend So, thats our Gateway Link were we\u0026rsquo;ll connect our Windows XP SP3 PC with IPv4 (192.168.2.2 / 24, GW is 192.168.2.1). Now to the \u0026ldquo;Router Link\u0026rdquo; which does connect to the Core Router (g0/1):\nconf t\rint vlan 1\rip address 192.168.0.1 255.255.255.0\rno shut\rint g0/1\rswitchport mode access\rswitchport access vlan 1\rswitchport nonegotiate\rno shut\rend This link is set to nonegotiate because we do not want the Switches to start an trunk - but route our traffic through EIGRPv4. Now, we enable EIGRPv4:\nconf t\rrouter eigrp 1\rnetwork 192.168.0.0\rnetwork 192.168.2.0\rend Basically, thats very easy to understand: We start the EIGRPv4 proccess, issuing it the ID \u0026ldquo;1\u0026rdquo; (you can choose which you want and need to create EIGRP Borders) and inform it about the direct connected networks on this router (192.168.0.0 on g0/1 and 192.168.2.0 on f0/3). And thats it! If you got EIGRPv4 running on Core and SW2 as well (SW2 with same config as shown here, only different IP Networks, Core is going to have the same configuration as the Uplink Port but with IPv4 192.168.0.2 on the SW1 end and 192.168.4.2 on the SW2 end), you\u0026rsquo;ll have an running EIGRP supported network! Now that we got EIGRPv4 running, we\u0026rsquo;ll jump up to EIGRPv6! Actually, its not to different from the old Version but these:\nYou do not configure networks in an central EIGRP process, but do configure EIGRPv6 directly on the interfaces You do need to \u0026ldquo;no shut\u0026rdquo; the central EIGRPv6 process once, otherwise it won\u0026rsquo;t work. There are other differences, but not needed to mention here - check google if you\u0026rsquo;re interested. For our IPv6 Client Network, we\u0026rsquo;ll start off like this (f0/2): conf t\rint vlan 2\ripv6 address 2000:2::1/64\ripv6 eigrp 1\rno shut\rint f0/2\rswitchport access vlan 2\rspanning-tree portfast\rno shut\rend As you see, there is not much difference: We do configure an IPv6 Global Unicast on the interface and enable the EIGRPv6 Proccess with ID \u0026ldquo;1\u0026rdquo; (does not interfere with EIGRPv4! They do not \u0026ldquo;see\u0026rdquo; each other as they are IPv4 or IPv6 only!) on that Interface. Connected - to an Windows XP SP3 PC with IPv6(2000:2::2/64, GW is 2000:2::1). Now to the \u0026ldquo;Router Link\u0026rdquo; which does connect to the Core Router (g0/1), we need to add an IPv6 Address for EIGRPv6 to work:\nconf t\rint vlan 1\ripv6 address 2000:1::1/64\ripv6 eigrp 1\rend After that, we need to \u0026ldquo;no shut\u0026rdquo; the EIGRPv6 Proccess - enabling it with this command:\nconf t\ripv6 router eigrp 1\rno shut\rend Yeah, and thats it! To just give the additional feedback for Win XP SP3: To install the IPv6 Stack, you can enter ipv6 install in the Commandline. To add an IPv6 Address to an interface, enter netsh interface ipv6 add address \u0026ldquo;INTERFACENAME\u0026rdquo; IPV6ADDRESS in the Commandline ( i.e. netsh interface ipv6 add address \u0026ldquo;Lan-Verbindung\u0026rdquo; 2000:2::2 for our IPv6_SW1 PC). Finally you can check your connection via ping and ping6 for IPv6. So, I hope you like it.\nAnd for further studies, I attach the config files! ^^\ncore\r!\rversion 12.2\rno service pad\rservice timestamps debug datetime\rservice timestamps log datetime localtime\rno service password-encryption\r!\rhostname Core\r!\rboot-start-marker\rboot-end-marker\r!\r!\rno aaa new-model\rsystem mtu routing 1500\rvtp domain ipv6\rvtp mode off\rip routing\rno ip domain-lookup\r!\r!\ripv6 unicast-routing\r!\r!\rerrdisable recovery cause udld\rerrdisable recovery cause bpduguard\rerrdisable recovery cause security-violation\rerrdisable recovery cause channel-misconfig (STP)\rerrdisable recovery cause pagp-flap\rerrdisable recovery cause dtp-flap\rerrdisable recovery cause link-flap\rerrdisable recovery cause sfp-config-mismatch\rerrdisable recovery cause gbic-invalid\rerrdisable recovery cause l2ptguard\rerrdisable recovery cause psecure-violation\rerrdisable recovery cause port-mode-failure\rerrdisable recovery cause dhcp-rate-limit\rerrdisable recovery cause pppoe-ia-rate-limit\rerrdisable recovery cause mac-limit\rerrdisable recovery cause vmps\rerrdisable recovery cause storm-control\rerrdisable recovery cause inline-power\rerrdisable recovery cause arp-inspection\rerrdisable recovery cause loopback\rerrdisable recovery cause small-frame\rerrdisable recovery interval 60\r!\rspanning-tree mode rapid-pvst\rspanning-tree extend system-id\r!\rvlan internal allocation policy ascending\r!\rvlan 2-3 !\r!\rinterface FastEthernet0/1\rshutdown\r!\rinterface FastEthernet0/2\rswitchport access vlan 2\rswitchport mode access\rswitchport nonegotiate\r!\rinterface FastEthernet0/3\rswitchport access vlan 3\rswitchport mode access\rswitchport nonegotiate\r!\rinterface FastEthernet0/4\rshutdown\r!\rinterface FastEthernet0/5\rshutdown\r!\rinterface FastEthernet0/6\rshutdown\r!\rinterface FastEthernet0/7\rshutdown\r!\rinterface FastEthernet0/8\rshutdown\r!\rinterface GigabitEthernet0/1\r!\rinterface Vlan1\rno ip address\r!\rinterface Vlan2\rip address 192.168.0.2 255.255.255.0\ripv6 address 2000:1::2/64\ripv6 eigrp 1\r!\rinterface Vlan3\rip address 192.168.4.2 255.255.255.0\ripv6 address 2000:4::2/64\ripv6 eigrp 1\r!\r!\rrouter eigrp 1\rnetwork 192.168.0.0\rnetwork 192.168.4.0\r!\rip classless\rip http server\rip http secure-server\r!\r!\rip sla enable reaction-alerts\ripv6 router eigrp 1\r!\r!\rline con 0\rlogging synchronous\rline vty 0 4\rlogging synchronous\rlogin\rline vty 5 15\rlogging synchronous\rlogin\r!\rend\rsw1\r!\rversion 12.2\rno service pad\rservice timestamps debug datetime\rservice timestamps log datetime localtime\rno service password-encryption\r!\rhostname SW1\r!\rboot-start-marker\rboot-end-marker\r!\r!\rno aaa new-model\rsystem mtu routing 1500\rvtp domain ipv6\rvtp mode off\rip routing\rno ip domain-lookup\r!\r!\ripv6 unicast-routing\r!\r!\rerrdisable recovery cause udld\rerrdisable recovery cause bpduguard\rerrdisable recovery cause security-violation\rerrdisable recovery cause channel-misconfig (STP)\rerrdisable recovery cause pagp-flap\rerrdisable recovery cause dtp-flap\rerrdisable recovery cause link-flap\rerrdisable recovery cause sfp-config-mismatch\rerrdisable recovery cause gbic-invalid\rerrdisable recovery cause l2ptguard\rerrdisable recovery cause psecure-violation\rerrdisable recovery cause port-mode-failure\rerrdisable recovery cause dhcp-rate-limit\rerrdisable recovery cause pppoe-ia-rate-limit\rerrdisable recovery cause mac-limit\rerrdisable recovery cause vmps\rerrdisable recovery cause storm-control\rerrdisable recovery cause inline-power\rerrdisable recovery cause arp-inspection\rerrdisable recovery cause loopback\rerrdisable recovery cause small-frame\rerrdisable recovery interval 60\r!\rspanning-tree mode rapid-pvst\rspanning-tree extend system-id\r!\rvlan internal allocation policy ascending\r!\rvlan 2-4 !\r!\rinterface FastEthernet0/1\rshutdown\r!\rinterface FastEthernet0/2\rswitchport access vlan 2\rspanning-tree portfast\r!\rinterface FastEthernet0/3\rswitchport access vlan 3\rspanning-tree portfast\r!\rinterface FastEthernet0/4\rswitchport access vlan 4\rswitchport mode access\rspanning-tree portfast\r!\rinterface FastEthernet0/5\rshutdown\r!\rinterface FastEthernet0/6\rshutdown\r!\rinterface FastEthernet0/7\rshutdown\r!\rinterface FastEthernet0/8\rshutdown\r!\rinterface GigabitEthernet0/1\rswitchport mode access\rswitchport nonegotiate\r!\rinterface Vlan1\rip address 192.168.0.1 255.255.255.0\ripv6 address 2000:1::1/64\ripv6 eigrp 1\r!\rinterface Vlan2\rno ip address\ripv6 address 2000:2::1/64\ripv6 eigrp 1\r!\rinterface Vlan3\rip address 192.168.2.1 255.255.255.0\r!\rinterface Vlan4\rip address 192.168.12.1 255.255.255.0\ripv6 address 2000:12::1/64\ripv6 eigrp 1\r!\r!\rrouter eigrp 1\rnetwork 192.168.0.0\rnetwork 192.168.2.0\rnetwork 192.168.12.0\r!\rip classless\rip http server\rip http secure-server\r!\r!\rip sla enable reaction-alerts\ripv6 router eigrp 1\r!\r!\rline con 0\rlogging synchronous\rline vty 0 4\rlogging synchronous\rlogin\rline vty 5 15\rlogging synchronous\rlogin\r!\rend\rsw2\r!\rversion 12.2\rno service pad\rservice timestamps debug datetime\rservice timestamps log datetime localtime\rno service password-encryption\r!\rhostname SW2\r!\rboot-start-marker\rboot-end-marker\r!\r!\rno aaa new-model\rsystem mtu routing 1500\rvtp domain ipv6\rvtp mode off\rip routing\rno ip domain-lookup\r!\r!\ripv6 unicast-routing\r!\r!\rerrdisable recovery cause udld\rerrdisable recovery cause bpduguard\rerrdisable recovery cause security-violation\rerrdisable recovery cause channel-misconfig (STP)\rerrdisable recovery cause pagp-flap\rerrdisable recovery cause dtp-flap\rerrdisable recovery cause link-flap\rerrdisable recovery cause sfp-config-mismatch\rerrdisable recovery cause gbic-invalid\rerrdisable recovery cause l2ptguard\rerrdisable recovery cause psecure-violation\rerrdisable recovery cause port-mode-failure\rerrdisable recovery cause dhcp-rate-limit\rerrdisable recovery cause pppoe-ia-rate-limit\rerrdisable recovery cause mac-limit\rerrdisable recovery cause vmps\rerrdisable recovery cause storm-control\rerrdisable recovery cause inline-power\rerrdisable recovery cause arp-inspection\rerrdisable recovery cause loopback\rerrdisable recovery cause small-frame\rerrdisable recovery interval 60\r!\rspanning-tree mode rapid-pvst\rspanning-tree extend system-id\r!\rvlan internal allocation policy ascending\r!\rvlan 2-4 !\r!\rinterface FastEthernet0/1\rshutdown\r!\rinterface FastEthernet0/2\rswitchport access vlan 2\rspanning-tree portfast\r!\rinterface FastEthernet0/3\rswitchport access vlan 3\rspanning-tree portfast\r!\rinterface FastEthernet0/4\rswitchport access vlan 4\rswitchport mode access\rspanning-tree portfast\r!\rinterface FastEthernet0/5\rshutdown\r!\rinterface FastEthernet0/6\rshutdown\r!\rinterface FastEthernet0/7\rshutdown\r!\rinterface FastEthernet0/8\rshutdown\r!\rinterface GigabitEthernet0/1\rswitchport mode access\rswitchport nonegotiate\r!\rinterface Vlan1\rip address 192.168.4.1 255.255.255.0\ripv6 address 2000:4::1/64\ripv6 eigrp 1\r!\rinterface Vlan2\rno ip address\ripv6 address 2000:3::1/64\ripv6 eigrp 1\r!\rinterface Vlan3\rip address 192.168.3.1 255.255.255.0\r!\rinterface Vlan4\rip address 192.168.13.1 255.255.255.0\ripv6 address 2000:13::1/64\ripv6 eigrp 1\r!\r!\rrouter eigrp 1\rnetwork 192.168.3.0\rnetwork 192.168.4.0\rnetwork 192.168.13.0\r!\rip classless\rip http server\rip http secure-server\r!\r!\rip sla enable reaction-alerts\ripv6 router eigrp 1\r!\r!\rline con 0\rlogging synchronous\rline vty 0 4\rlogging synchronous\rlogin\rline vty 5 15\rlogging synchronous\rlogin\r!\rend\rAs final job I did attach the interfaces f0/4, which do run Dual Stack as well - got an IPv4 and IPv6 Address. I configured the Windows XP SP3 PCs with both IPv4 and IPv6 Addresses, and now they are ping each other over both protocols at the same time. The Problem you\u0026rsquo;ll come up soon is following: IPv4 and IPv6 are seperated stacks. No connection between both. So if you got an IPv6 PC, it won\u0026rsquo;t be able to access IPv4 Ressources - and vice versa. So you\u0026rsquo;ll need some kind of \u0026ldquo;Concentrator\u0026rdquo; or \u0026ldquo;Proxy\u0026rdquo; which will translate between both like an oversized NAT. Actually - thats the Name of that Translator: NAT-PT (\u0026ldquo;Protocol Translator\u0026rdquo;) - its only one feature that can deliever IPv4-IPv6 Translation, but actually I read somewhere its considered \u0026ldquo;bad\u0026rdquo; already, so it might not be a good choice (and End2End Connection will suffer the same problems as your VPN on IPv4 with NAT.). I\u0026rsquo;m not putting an real solution for that problem here, as I\u0026rsquo;m diving into the Problem myself - but I wanted to just hint to this. Thanks!\n","date":"2011-06-29T08:46:21Z","permalink":"/posts/2011-06-29-ipv6-dualstack-eigrp-routing-on-c3560/","title":"[IPv6] Dualstack EIGRP Routing on c3560"},{"content":"Feedback is always important, especially if its about working with other people.\nFor our little (now over 10 year lasting) monthly meeting we wanted an Mailaccount to which people could send ideas and other stuff - but before the Mail would be forwared to the \u0026ldquo;heads\u0026rdquo; accounts, we wanted an function to strip off the senders email address - as we wanted to give them the freedom of sending anonymous feedback with their current Mailaccounts (yeah, we won\u0026rsquo;t be able to answer because of that - but its ok!).\nSo I came up with that little .procmailrc File. It will copy the mail, strip off the sender and replace it with its own and send it to the mail@domain.com Account.\nI used ( http://www.uibk.ac.at/zid/systeme/mail/procmail/extend_procmail.html#Weiterleiten3 ) to get to that point. Thanks guys for writing down that infos!\nLOGFILE=$HOME/.procmailrc.log VERBOSE=no :0 cw * ^Subject:.* | formail -k \\ -I \u0026#34;To: mail@domain.com\u0026#34; -X \u0026#34;To:\u0026#34; \\ -X \u0026#34;Subject:\u0026#34; \\ | $SENDMAIL $SENDMAILFLAGS -t ","date":"2011-06-28T11:59:52Z","permalink":"/posts/2011-06-28-procmail-anonymized-e-mail/","title":"[PROCMAIL] Anonymized E-Mail"},{"content":"Good News Everyone,\nI\u0026rsquo;m finally back to work. I managed to complete my apprenticeship as \u0026ldquo;IT Systemelektroniker\u0026rdquo; successfully and am still working at my old place.\nAt the moment, I\u0026rsquo;m diving into IPv6 and Cisco IPv6 Worlds and already got an Lab up and running - so maybe you get some fresh files and stuff soon.\nThanks for your patience!\nNico\n","date":"2011-06-28T11:45:33Z","permalink":"/posts/2011-06-28-back-to-work/","title":"Back to Work"},{"content":"Hi there,\nsome of you might have been wondering why there weren\u0026rsquo;t that much updates in the last weeks.\nReasons are simple:\n1.) I\u0026rsquo;m going to write my finals on 4 of May.\n2.) My Convention Managment System JCTixx, which has been in Development for about 10 Months and 1000 Manhours, is going through its Final Live Test on 7. - 8. of May in Ludwigshafen on the Hanami. I\u0026rsquo;m looking forward to serval 1000 to 10000s of Scans and Transactions. So\u0026hellip; I pray for the T-Com to keep their systems up and running!\nAfter that and some vacation, business as usual - at least I hope so.\nFor the time beeing, I recommend you some Portal 2 ;-).\nHave fun!\nYours sincerly,\nNico\n","date":"2011-04-24T18:57:09Z","permalink":"/posts/2011-04-24-timeout/","title":"Timeout"},{"content":"To install wget and curl onto pfSense,\nuse\n/usr/sbin/pkg_add -r wget and\n/usr/sbin/pkg_add -r curl After that, use the command rehash\nAlternative to wget is fetch avaible and installed\n","date":"2011-04-18T17:59:58Z","permalink":"/posts/2011-04-18-pfsense-install-curl-and-wget/","title":"[pfSense] Install curl and wget"},{"content":"If you need to access your pfSense with WinSCP (i.e.), activate SSH in pfSense first.\nAfter that, you can log in with the Account root (!!!) and your Webconfiguration password.\nYeah, that saved my day after hours of trying to\u0026hellip; \u0026ldquo;work-around\u0026rdquo;.\n","date":"2011-04-16T09:00:46Z","permalink":"/posts/2011-04-16-pfsense-access-with-scp/","title":"[pfSense] Access with SCP"},{"content":"I needed to connect an UMTS Stick (O2 Surfstick) to an VM Machine which should serve as \u0026ldquo;Router\u0026rdquo;.\nNo problem - ESXi does support \u0026ldquo;USB Direct Through\u0026rdquo; - so you can easily connect an USB Stick to your VM\u0026hellip;\nAt least, thats \u0026ldquo;normally\u0026rdquo; the Case:\nWith UMTS Sticks, this feature doesn\u0026rsquo;t work.\nWhy?\nUMTS Sticks start up with an U3 Partition with all that needed, nice connection software\u0026hellip;.\nAnd therefor, ESXi does see an CD Rom - which doesn\u0026rsquo;t show up within USB.\nAnd\u0026hellip; how to solve that?\nLuckily I found this post: https://forum.openwrt.org/viewtopic.php?id=26045\nWhich does contain the secret sauce:\nJust connect your USB Stick to an already installed System\u0026hellip; (your Laptop with the Connection Software and Drivers i.e.)\nLook up your UMTS Stick within the Device Manager, get the COM Port.\nOpen Putty (9600 Baud worked for me, the Original Author does think of: 115200 kbps, 8 data bits, parity none, stop bits 1, Flow control None) with that Com Port.\nType in: AT+ZOPRT=5 and AT+ZCDRUN=8\nThats it!\nNow the U3 doesn\u0026rsquo;t show up anymore, and it works!!\nTo reenable the feature, enter AT+ZCDRUN=9\nFor Huawei E160G / T-Mobile Surfstick V / Essential:\nCD – Rom Funktion deaktivieren at^u2diag=0 CD – Rom Funktion aktivieren at^u2diag=1\nAdditional Links:\nhttp://3g-modem.wetpaint.com/page/ZTE+AT-commands http://3g-modem.wetpaint.com/page/Huawei+AT-commands http://mobile-surfstick.de/mac/switch-from-diag-to-cd-rom-mode-per-at-befehl-unter-macosx/ Switch from Diag to CD-Rom Mode per AT-Befehl unter Macosx ","date":"2011-04-14T09:00:37Z","permalink":"/posts/2011-04-14-esxi4-1u1-umts-stick-on-vm-zte-mf-190/","title":"[ESXi4.1U1] UMTS Stick on VM [ZTE MF 190 / HUAWEI E160G]"},{"content":"Finally, I got it working.\nIts quite easy with these two Tutorials:\nhttp://downloads.snom.net/documentation/md_rev2.pdf http://wiki.ip-phone-forum.de/telefone:snom:konfiguration?\u0026#mass_deployment_-_schritt_fuer_schritt But Things you should really know about:\nIf you use an Unix TFTP Server for autoprov. do write the Filename of your phonesettings which does contains your Phones MAC in UPPER LETTERS!\u0026hellip; i.e. settings-0023456700AE - otherwise it could fail Set right permissions for your settings And if you would love to upgrade your Snom 360 Phones to Firmware 8, upgrade it from 6 to 6.5, 6.5 to 7 and from 7 to 8.\n","date":"2011-04-12T09:00:44Z","permalink":"/posts/2011-04-12-snom360-auto-provisioning/","title":"[Snom360] Auto Provisioning"},{"content":"I got the vmware virtualcenter server error 1000 odbc error on bootup of my Windows Server 2003 (64bit) which did serve my vCenter Server.\nIn fact this did mean in my case: The MSSQL Server didn\u0026rsquo;t boot / or too slow, so that vCenter Server came up - couldn\u0026rsquo;t access the DB and shutdown - \u0026ldquo;great!\u0026rdquo;.\nLuckily, there is an solution, pointed to by this ( http://communities.vmware.com/message/1247357 ) and this Website ( http://blogs.egroup-us.com/?p=1821 )\nIn the end I solved my problem following:\ncmdline:\nsc config vpxd depend= rpcSs/lanmanworkstation/MSSQL$SQLEXP_VIM/ADAM_VMwareVCMSDS With these new dependencies, vCenter should boot up on boot\u0026hellip; at least it did that last time\u0026hellip; ^^'.\n","date":"2011-04-10T09:00:01Z","permalink":"/posts/2011-04-10-esxi4-1u1-vcenter-server-startup-problems/","title":"[ESXi4.1U1] vCenter Server Startup Problems"},{"content":"Just found an awesome easy tutorial to upgrade ESXi 4.1 to ESXi 4.1 Update 1, that I would like to share with you:\nhttp://www.sysprobs.com/guideserver-virtualization-update-vmware-esxi-41-update-1-vmkernel-release-build-348481\n","date":"2011-04-08T09:00:34Z","permalink":"/posts/2011-04-08-esxi4-1-update-esxi-4-1-to-update-1/","title":"[ESXi4.1] Update ESXi 4.1 to Update 1"},{"content":"If you want to testdrive Android 2.2 on an VMWare Machine or your EEE PC, feel free to:\nThe Android x86 Team did Port Cupcake (1.6) and Frozen Yoghurt (FroYo, 2.2) to these!\nProject is alive, kicking and gets updates!\nhttp://www.android-x86.org/\n","date":"2011-04-06T09:00:50Z","permalink":"/posts/2011-04-06-android-android-x86-project/","title":"[Android] Android x86 Project"},{"content":"Upon opening the Gallery, Android showed up dozens of Application Folders\u0026hellip;\nWinamp did play programm sounds.\nThats not what we want.\nIf you ever come across this problem, the solution is simple:\nJust put an empty file named \u0026ldquo;.nomedia\u0026rdquo; into the root of your \u0026ldquo;Problem Folder\u0026rdquo;.\nThats it! After an reboot, these folders are ignored from media scan!\n","date":"2011-04-04T09:00:23Z","permalink":"/posts/2011-04-04-android-exclude-folders-from-beeing-scanned-for-music-pictures/","title":"[Android] Exclude folders from beeing scanned for music / pictures"},{"content":"I found a \u0026ldquo;bricked\u0026rdquo; HTC Universal without - everything.\nSo I decided to piece it back together.\nFirst thing to find was an USB Cable to recharge the battery.\nWorking is an normal Mini USB Cable, even tough the connector looks different.\nAfter that, I found out that the HTC was a brick.\nSo to unbrick:\nget mtty1.42.exe, enter bootloader mode , (Power + Light Bulb + Reset)\nStop Activesync USB connection Uni : Reboot Bootloader then Connect USB PC : Run mtty1.42.exe Choose USB in \u0026ldquo;Port\u0026rdquo; (Reconnect if can\u0026rsquo;t find/reconglize USB and try remove sim and sd card) type : task 28 55aa Press Enter Cause DOC reformatted, so there\u0026rsquo;s no rom in DOC ,try reflash any rom that you like . For task 28 55aa in mtty success , will show the message (attachment )\nDONE .\n( http://forum.xda-developers.com/showpost.php?p=1097645\u0026postcount=4 )\nUnder Windows Vista / 7 you need to use these drivers and stuff: http://forum.xda-developers.com/showthread.php?t=313001\u0026highlight=flashing+vista\nAfter that, we want to upgrade to a new rom.\nI choose Maxstegis German Rom ( http://rom.maxstegi.de/index.php ) You should go for Version 6: http://rom.maxstegi.de/downloads.php?view=detail\u0026df_id=12 And the Radio Image 1.18.00: http://rom.maxstegi.de/downloads.php?view=detail\u0026df_id=14 Go into Bootloader Mode, start the Version 6 and it will upgrade.\nDo not do anything to the Radio, we will change that soon\u0026hellip;\nGet the HTC Universal Unlock Tool to unlock your SIM:\nhttp://buzzdev.com/m/files/view/HTC-Universal-SIM-unlock\nInstall Instructions:\nBackup your phone (not necessary, but advisable). Remove your SD Card. Enter bootloader mode on your Phone. To do this, simultaneously hold down the backlight key (“bulb” key, next to volume key), the power key and soft reset the phone. Your phone screen should clear, and you will see very faint writing saying “serial”. Let go of buttons etc. Connect your phone to your computer using the USB lead. Run the MaUpgradeUt_noID.exe program – this will reflash your phone with necessary software required to enable the unlocker. Wait patiently. Once the MaUpgradeUt_noID.exe upgrade completes, soft reset your phone by pressing the soft reset button on the back of the device [if the flash has been successfully applied, you should see that you now have Radio version 0.00.00] Allow your phone to reboot. Once it has, connect to your PC using Activesync, and copy the UNI_Unlock_v1.exe program onto your phone. Alternatively, copy it to an SD card and insert into your phone. Run UNI_Unlock_v1.exe on your phone. Wait patiently. Once the process completes, soft reset your phone. Process is (hopefully) complete!\nhttp://forum.gsmhosting.com/vbb/archive/t-316584.html After that, boot loader Mode, flash the new Radio Firmware, after that you can reflash the ROM aswell, so to be sure that everything worked.\nThats it!\nEnable Wireless G (802.11g) Support in HTC Universal Pocket PC Phone\nHTC Universal also kwown as Qtek 9000, T-Mobile MDA Pro, Orange SPV M5000, O2 Xda Exec, i-mate JASJAR, Dopod 900, Vodafone v1640, Vodafone VPA IV, E-Plus PDA IV, Grundig GR980 and etc as it’s be re-branded and marketed by different vendors and network operators. One major disappointment and weakness of HTC Universal is it’s only support 802.11b-compatible technology, and thus unable to connec to WiFi G (802.11g) network.\nIt’s possible to make the HTC Universal based Pocket PC phone to compatible and able to connect to 802.11g-only access points by a registry tweak, but the speed would still be the same as 802.11b (11 Mbit/s).\nThe registry tweak is to change and add the following registry decimal values using a registry editing tool like the PHM Registry Editor at your HTC Universal based Pocket PC:\nHKEY_LOCAL_MACHINE\\COMM\\TIACXWLN1\\PARMS: dot11SupportedRateMask=1 HKEY_LOCAL_MACHINE\\COMM\\TIACXWLN1\\PARMS: dot11SupportedRateMaskG=8 After adding and editing above registry key, soft-reset the device.\n( http://www.mydigitallife.info/2006/08/01/enable-wireless-g-80211g-support-in-htc-universal-pocket-pc-phone/ )\nIf you ever need to hardreset your Device, press the two \u0026ldquo;-\u0026rdquo; Buttons on the Keyboard and the Reset Button while the Device is turned on. A screen will come up and ask for the reset, press\u0026hellip; o to confirm.\nAdditional Tutorials: http://forum.xda-developers.com/showthread.php?t=549207\n","date":"2011-04-01T09:00:53Z","permalink":"/posts/2011-04-01-htc-universal/","title":"HTC Universal"},{"content":"This document does explain in short how you install the popular FroyoMod onto your Motorola Milestone.\n( Froyomod does use Android 2.2.2 )\ninstall RSD Lite v4.9\ndownload and unzip vulnerable_recovery_only_RAMDLD90_78.zip\ndownload androidiani-openrecovery ( http://code.google.com/p/androidiani-openrecovery/ ):\nunzip into root of your Android SD ( update.zip + OpenRecovery Folder )\nDownload Bootimage for your Droid (http://forum.xda-developers.com/showthread.php?t=815595) und verschieben auf SD nach /sdcard/openrecovery/updates ( Zip nicht entpacken! )\nShutdown Phone, Connect USB, HOLD D-PAD UP, Power on\nRSD Lite Flash Vulernable, Hold D-PAD UP on Reboot -\u0026gt; Boot to Boot Loader (OTHERWISE: OTA LOCK!)\nShutdown, Hold Camera Button + Power Button (or X+PWR), Maintance Screen comes up. Press Speaker U+ Camera, choose with D-Pad apply sdcard:update.zip and click\nBackup: Recovery, Recovery All\nWipe: Wipe Dalvik, Wipe Cache und Wipe Data/Factory Reset\nFlash: Apply Update\nThats it!\nYou don\u0026rsquo;t need to do full wipe all the time if you change within version.\nIf you need QWERTZ Hardware Keyboard: Within OpenRecovery: Settings \u0026gt; Keyboard Layout \u0026gt; qwertz\n","date":"2011-03-31T09:00:01Z","permalink":"/posts/2011-03-31-android-install-froyomod-onto-motorola-milestone/","title":"[Android] Install FroyoMod onto Motorola Milestone"},{"content":"Following the Hardware Upgrade, the Software needs to be renewed, too!\nThe latest PIX OS running on the 506e would be 6.3.5.125.\nYou can upgrade to that and use the pdm to configure the Device.\nOr\u0026hellip; you can go to ASA!\nAs described here ( http://www.rownet.co.uk/installing-v7-software-on-a-cisco-pix-506e/ ) you can do that quite easily.\nBut in short:\nBoot into Pix Start downloading an pdm file with copy tftp://Your_TFTP_Server_IP_Address/Your_pdmfile_name flash:pdm and disconnect the ethernet cable! After disconnecting, the PIX will erase the pdm from your pix, clearing the flash space for pdm clear flashfs reload your PIX into Monitor Mode / RMON activate your interface (interface 0 is E0, interface 1 E1) enter ip addr of tftp server ( server ), filename ( tftp ), ip addr of your pix ( address ) and start downloading to pix It will boot from tftp into ASA Copy ASA Image: copy tftp://Your_TFTP_Server_IP_Address/pix712.bin flash: Reload Done, you got ASA.\nNo ASDM / PDM anymore, because not enough space, but ASA ^^\n","date":"2011-03-30T12:49:48Z","permalink":"/posts/2011-03-30-cisco-pix-506e-software-upgrade/","title":"Cisco PIX 506e Software Upgrade"},{"content":"I have been using XMarks for very long time to synchronize my Bookmarks over all my PCs.\n( Even since XMarks has been known as Foxmarks\u0026hellip; )\nBut at some point, I got some really nasty problem:\nThe \u0026ldquo;Unsorted Bookmarks\u0026rdquo; Folder started to get \u0026ldquo;replicated\u0026rdquo;:\nEvery sync or so, I got one more.\nAnd more.\nAnd more\u0026hellip;\nAnd I never found out why, until now:\nI had serval sync profiles (Work, Home, Mobile, etc\u0026hellip;) with restricted access to my Bookmarks.\nProblem was: My Work PC didn\u0026rsquo;t sync the Unsorted Bookmarks Folder - my other PCs did.\nThat means: Every time the Work PC did sync and saw the Unsorted Bookmarks Folder, it was \u0026ldquo;new\u0026rdquo; to him and without settings and it did download.\nNext time, he did \u0026ldquo;Push\u0026rdquo; it as new Folder to the Web - not as correct Unsorted Folder, but only as a normal Favorite Folder called like that.\nThe Other PCs did grab that, create it a new, sync it\u0026hellip; and so on -.-\u0026rsquo;.\nFolder Storm or so.\nAfter removing all the trash folders and enabling the Work PC Sync for the Unsorted Bookmarks, I hope it will work out\u0026hellip;\n","date":"2011-03-28T06:34:47Z","permalink":"/posts/2011-03-28-firefox-3-6-xmarks-problem/","title":"[Firefox 3.6] XMarks Problem"},{"content":"The Cisco PIX Series has been \u0026ldquo;the\u0026rdquo; well known and powerful firewall appliance of the last decade - and for some people, this decade ain\u0026rsquo;t over yet.\nCisco has released the successor \u0026ldquo;ASA\u0026rdquo; some years ago, but many people still got a PIX running.\nReasons are simple: The PIX Series has an Appliance for every problem and is rock solid.\nMy personal experience with that Firewall Series started with a \u0026ldquo;burned out\u0026rdquo; PIX 520 (that one is getting its own entry soon ^^).\nAfter that, I got more into Security by doing my CCNA Security studies.\nWhile doing the CCNAS I also bought the smallest PIX, the PIX 501 from Ebay for 70€ or so.\nSometime later, I discovered an dead PIX 506e in my Office - and I just couldn\u0026rsquo;t help myself and started taking it apart.\nShortly after disassembling I stumbeled upon this Blog: http://hackaday.com/2008/09/28/upgrading-the-cisco-pix-506e/\nAnd that looked very promissing.\nCisco started upgrading some PIX Appliances with new Software Versions.\n6.3.5 was the last \u0026ldquo;PIX\u0026rdquo; Software. After that, Version 7 and Version 8 were \u0026ldquo;ASA\u0026rdquo;.\n( While 7 was more some kind of bridge version, at least it feels like it\u0026hellip; )\nNeither my 501,520 or the 506e do run 7.x or 8.x - at least thats what Cisco does say.\nProblem is the amount of memory onboard: 501 and 506e only got 8 MB of Flash - not upgradable.\nThe 520 got 2 or 16 MB Flash - but ain\u0026rsquo;t supported. Another problem is the amount of RAM and CPU.\nSo.. I did start on these problems.\nFirst thing after opening the 506e was exchanging the CMOS Battery.\nSeriously, I felt as that this PIX was always crashing because of some dead battery.\nAt least, it give me a better feeling having that thing loaded up again.\nAfter that, I was looking for the RAM: SDRAM, 100 MHz FSB.\nI looked through the inventory and found 2 bars, each 256 MB, 133 MHz.\nMaybe not the best idea, the 506e is only going on 100 MHz, but worth a try.\nAnd - it did work. So, we got the 32 MB replaced by 512 MB.\nI think that should be\u0026hellip; enough.\nRAM is done, Battery replaced, but what about the CPU?\nGood Question!\nThe 506e is running on an 300 MHz Pentium 2 Celeron (SL36A, Mendocino Core, 128 KByte L2, 2V) - not really much.\nSo I was looking around again and found an awesome 1 GHz Pentium 3 (SL4C8, Coppermine, 256 KByte L2, 1.7V).\nAfter pluging in and testing I found out that this thing was really working. Problem were the 133 MHz FSB - so the CPU did only run with 750 MHz - more than enough!\nI was seriously happy, but a problem was coming up: Heat.\nThe PIX 506e enclosing is really badly build: The CPU Cooler is just sitting some milimeters under the hood, not ventilationholes anywhere except at the end of the case. You can even see some dust burned into the case inlay above the cpu cooler\u0026hellip; \u0026ldquo;nice\u0026rdquo;. So - the new CPU would be really too much for this case. And my idea was correct: Some minutes after closing the case and running the firewall - the CPU got shutdown because of thermal problems. Ok! What to do now? Well - solution was easy: Just cut out the steel enclosing above the CPU Cooler, get some special cloth above it - so nobody would touch in - and close the case. Problem solved.\nThe next question came up: Well, what does that \u0026ldquo;little tweaking\u0026rdquo; really did to the firewall?\nSolution to that: Benchmark!\nI fired up iperf / jperf with following command:\nbin/iperf.exe -c SERVERIP -P 4 -i 20 -p 5001 -w 512.0k -l 512.0k -f m -t 3600\n1 Hours, special Packet Size, 4 Parallel Threads. That should \u0026ldquo;burn-in\u0026rdquo;\u0026hellip;.\n\u0026hellip;and it did: After 20 Minutes with really superior performance ( CPU on 10% by delivering 92 MBit/s! ) the CPU died.\nAnd the powersupply? Well - felt like on fire, too. Damn.\nSo, the CPU seemed to be too much for the little firewall\u0026hellip;\nBut I didn\u0026rsquo;t wanted to stop there.\nThe next burn in with the old CPU took place.\nEverything was fine, nothing was hurt except the dead CPU.\nThe firewall was running hour on hour smooth with 100% Network Stress.\n( With the 300 MHz CPU, the PIX was already working above 40%\u0026hellip; well,\u0026hellip; not as good )\nOk.\nAfter stumbeling around in my cases, I finally found the best CPU I came up with at the moment:\nSL3XY, Coppermine, 256 KByte L2, 1,65V - an Pentium 3 with 733 MHz.\nAnd I didn\u0026rsquo;t even knew wheter that thing was still working.\nI really thought I fried it already some years earlier\u0026hellip;\nWell, it seemed like\u0026hellip; not!\nIn the end, the Firewall did work at 550 MHz ( 133 MHz FSB aswell\u0026hellip; ) for over 4 hours,\n26% CPU Load - nice! I think thats ok (The power supply also stayed reasonably cold).\nThe last thing I did was installing an passiv Heatsink on the AGP Chipset of the PIX.\nIt was getting hot for no reason\u0026hellip; So\u0026hellip;. some better cooling than the naked Chip itself is always nice\u0026hellip;\nSo - that was the Hardware. But what about the PIX OS?\nMh\u0026hellip;\nNext Post 😉\n","date":"2011-03-19T09:00:27Z","permalink":"/posts/2011-03-19-cisco-pix-506e-hardware-upgrade/","title":"Cisco PIX 506e Hardware Upgrade"},{"content":"I got an root server on the net hosting an important website and am doing backups on a daily base using Tartarus ( http://wiki.hetzner.de/index.php/Tartarus_Backup-Konfiguration ). But as we all know: Backups are only worth a penny if they really work and are usable after an crash. Therefor I did try to recover the \u0026ldquo;dead called\u0026rdquo; machine onto BareMetal - or at least BareAir - as it was an VMWare Machine I used.\nPreWork:\nCreating VMware Machine with same background and partition structure\n( 40 GB HDD: Swap, Root, Boot Partition ) Install Ubuntu 10.04.2 LTS Recovery:\nBoot with Linux Live CD mount /dev/sda2 (my Root Partition) Recover Tartarus Backup curl ftp://USER:PASS@YOURSERVER/home-20080411-1349.tar.bz2 | tar xpvj -C /mnt/restore mount /dev/sda1 (my Grub Partition) and maybe recover Tartarus Backup of the Partition (most likely that should be do more harm than good\u0026hellip; so\u0026hellip; maybe leave it 😉 ) Check UUID of the Partitions with blkid Change blkid within /etc/fstab Reboot Done\u0026hellip; or most likely 😉\nPS: Maybe you will need to remove /etc/udev/rules.d/70-net-persistent and reboot because of the broken Ethernet Card\u0026hellip;\n","date":"2011-03-18T07:00:41Z","permalink":"/posts/2011-03-18-ubuntu-10-04-ubuntu-root-server-to-vmware-baremetal-recovery/","title":"[Linux] Ubuntu Root Server to VMWare BareMetal Recovery"},{"content":"I recently bought an ATI HD6870, replacing my old and very noisy and hot HD2900XT+.\nAs far as it seems it was an really good idea, as the new graphics is just awesome in performance and price (~180€).\nBy the way, I would recommend the Sapphire \u0026ldquo;Not-Reference\u0026rdquo; Model which comes with an special cooler - and is damn quiet.\nAnd another thing: ATI brought out an Preview of the new 11.4 Driver called \u0026ldquo;Mjölnir 1\u0026rdquo; which does improve overall performance.\nIts not stable yet, but maybe you want to check it out: http://support.amd.com/us/kbarticles/Pages/Catalyst114earlypreview.aspx\n( Windows 7, Vista Only )\n","date":"2011-03-16T07:04:37Z","permalink":"/posts/2011-03-16-win7-ati-hd6870-mjolnir-1/","title":"[Win7] ATI HD6870 + Mjölnir 1"},{"content":"Sometimes you really miss sed on Windows.\nIf you don\u0026rsquo;t like the Windows Ports and just want to search for a text and replace it within a batch script, try this little tool (SSR):\nhttp://www.programmersheaven.com/download/41236/download.aspx\n","date":"2011-03-11T10:22:48Z","permalink":"/posts/2011-03-11-win-simple-search-and-replace-command-line-tool/","title":"[Win] Simple Search and Replace Command Line Tool"},{"content":"\nStarting from today on, I want to give a little bit more detail about the little green Robot above:\nThe Smartphone OS Android.\nReasons for that is quite simple: I helped myself to an Motorola Milestone ( German \u0026ldquo;Droid\u0026rdquo; ).\nAnd I\u0026rsquo;m really happy with that.\nActually I do want to get a bit more into Detail about the different Versions and the nice \u0026ldquo;side projects\u0026rdquo; and Apps.\nI hope you\u0026rsquo;ll enjoy it.\nPicture Copyright by richd.com ^^\n","date":"2011-03-10T07:40:14Z","permalink":"/posts/2011-03-10-android-welcome/","title":"[Android] Welcome!"},{"content":"And now an nice tip by Darren Kitchen of Hak5!\n( www.hak5.org )\nHakTip: Multiplexing Screen Sessions\nWhat’s more wicked than a screen session? Two screen sessions! As we’ve talked about recently the unix command Screen is a great way to maintain bash sessions from multiple SSH clients without losing your work. My favorite shortcut after invoking the \u0026ldquo;screen\u0026rdquo; command is CTRL+a followed by \u0026ldquo;S\u0026rdquo;, which splits the screen horizontally in two. Use CTRL+a then Tab to switch between the views. Debian users get the added sexyness of vertical split by hitting CTRL+a then Pipe.\n","date":"2011-03-09T07:40:03Z","permalink":"/posts/2011-03-09-linux-multiplexing-screen/","title":"[Linux] Multiplexing Screen"},{"content":"Some of us still work on Windows XP.\nI myself still prefer to have my P4 3 GhZ Single Core at work to run with the \u0026ldquo;old\u0026rdquo; Windows, because of Ressources and the good feeling to have an proven system installed. The only thing that I find really annoying is the taskbar: I really love the feature of Windows 7 to reorder taskbar entries without restarting applications.\nAnd thats something Windows XP can do as well with Taskbar++\n( http://www.chip.de/downloads/Taskbar_19900036.html )\nJust install and run it, move your mouse cursor over the taskbar and press and hold ALT.\nThe mouse cursor will change to a finger, then you can click and hold an entry and move it on the taskbar.\nLet go of the icon and ALT and everythings set again.\n","date":"2011-03-08T07:36:05Z","permalink":"/posts/2011-03-08-winxp-windows-7-taskbar-tool/","title":"[WinXP] Windows 7 Taskbar Tool"},{"content":"Hello there, this a 5 Minute Tutorial to screen.\nWhat Screen is?\nWell screen is an old unix / linux terminal programm with which you can create multiple virtual \u0026ldquo;screens\u0026rdquo;.\nYou can switch between these screens and also can disconnect from them.\nEspecially useful: If you start an daemon within screen and disconnect from it,\nyou can reconnect anytime and see what its doing.\nOr you can setup a screen session, detach and close your SSH.\nIf you reconnect, it will still be running.\nOh, and it will be also there and running if your connection drops.\nMy little list of important Screen Commands:\nscreen // Create a Screen screen -ls // List active Screen sessions screen -r // Resume Screen, if multiple, enter Screen Number from ls after r CTRL A C - create new tab CTRL A P - previous CTRL A N - next CTRL A D - detach from Screen To close and exit a screen, just type exit within the screen session. To start an script in the same folder \u0026#34;daemon like\u0026#34;: screen -A -m -d -S SCREENSESSIONNAME ./SCRIPTNAME.sh Easy, ain\u0026rsquo;t it?\n","date":"2011-02-24T17:12:50Z","permalink":"/posts/2011-02-24-linux-screen/","title":"[Linux] Screen"},{"content":"Just found some old notes, dunno wheter they still apply but its worth a try.\nMake an Image of your choice by the creator. I made an post about that. Copy the resulting ISO to an USB Stick. Boot in the new PC with Ubuntu or Knoppix Live DVD. Mount the USB Stick. Copy the ISO to the Harddrive. With dd. Check your of first, don\u0026rsquo;t do something stupid - like overwriting your main drive\u0026hellip;\ndd if=webconverger.iso of=/dev/sda Reboot, thats it ","date":"2011-02-24T04:46:55Z","permalink":"/posts/2011-02-24-webconverger-install-iso-to-hdd/","title":"Webconverger - Install ISO to HDD"},{"content":"I want to thank all the visitors for an amazing amount of 1277 visits last month!\nYesterday I saw links to pictures and posts of my gps stuff in an Russian Forum and was completly stunned.\nOriginally the blog started in August 2008 to be an private online notebook for writing down all the little scraps and pieces of code and notes I have had flying around - and never found when I needed it.\nI\u0026rsquo;m happy to see that some people seem to make frequent use of this website and actually find use in the stuff I write.\nThank you very much.\nIf theres anything you want to see different, have questions or suggestions, don\u0026rsquo;t hesitate to write an comment!\n","date":"2011-02-22T21:43:03Z","permalink":"/posts/2011-02-22-thank-you-to-all-visitors/","title":"Thank you!"},{"content":"I\u0026rsquo;m a huge geek when it comes down to OpenWRT.\nI love the style of small little router boards with not much power consumption and still big impact and power.\nI have been registred on OpenWRT Forums since 2006, and thats also the time I\u0026rsquo;m already working on it and doing (weird) stuff with it.\nAnd actually I just plainly love that small debian derived linux.\nAnd thats why most of you would be wondering why I never downloaded the build enviroment and build an image myself.\nActually, I have to face the same question. Because, In fact, its very easy to build an image from source to your own like.\nI was thinking about writing an long big blog entry about this topic, but actually, its awesomly well documented within the OpenWRT Wiki, so I just give you the link and encourage you on building your own images: http://wiki.openwrt.org/doc/howto/build\nBut for all who want it short for Ubuntu 10.03, here are my notes:\ninstall req:\napt-get install build-essential asciidoc autoconf binutils bison bzip2 \\ flex gawk gettext libncurses5-dev libz-dev patch unzip zlib1g-dev subversion download stable:\nmkdir OpenWrt/ cd OpenWrt/ svn co svn://svn.openwrt.org/openwrt/branches/backfire download and install feeds:\nBefore downloading feeds (additional predefined package build recipies for OpenWrt) you\ncan check which sources you want to include. Just edit feeds.conf.default in your base directory.\nThen start the download with\n./scripts/feeds update -a install with\n./scripts/feeds install -a Building Process\nUpdating sources via Subversion # Here, backfire is the directory name of the current release branch you\u0026#39;re tracking cd OpenWrt/backfire/ svn up Updating package feeds ./scripts/feeds update -a ./scripts/feeds install -a Creating a default configuration (if necessary) make defconfig Configuring the image(s) to build make menuconfig Building the image make copy images:\ncd bin/ ls */ cleaning up\nmake clean cleaing everything, erasing build images:\nmake distclean If you need own files compiled into the image, put them to: OpenWrt/backfire/files\nHow to disable failsafe:\nEdit \u0026ldquo;package/base-files/files/lib/preinit/30_failsafe_wait\u0026rdquo;\n- FAILSAFE= - pi_failsafe_net_message=true - preinit_net_echo \u0026#34;Please press button now to enter failsafe\u0026#34; - pi_failsafe_net_message=false - fs_wait_for_key f \u0026#39;to enter failsafe mode\u0026#39; $fs_failsafe_wait_timeout \u0026amp;\u0026amp; FAILSAFE=true \u0026amp;\u0026amp; export FAILSAFE + FAILSAFE=false + #pi_failsafe_net_message=true + #preinit_net_echo \u0026#34;Please press button now to enter failsafe\u0026#34; + #pi_failsafe_net_message=false + #fs_wait_for_key f \u0026#39;to enter failsafe mode\u0026#39; $fs_failsafe_wait_timeout \u0026amp;\u0026amp; FAILSAFE=true \u0026amp;\u0026amp; export FAILSAFE ","date":"2011-02-22T17:22:36Z","permalink":"/posts/2011-02-22-openwrt-build-your-own-image-on-ubuntu-10-03/","title":"[OpenWRT] Build your own image on Ubuntu 10.03"},{"content":"It has been sometime, but I still want to tell my experiences with ESXi 4.1.\nIn the beginning, I was very annoyed from the fact that you really need an 64 bit System and at least 2 Gigs of RAM.\nBut the rest just turned out fine, I have to admit.\nTheres an upgrade path available, so you can upgrade your ESXi 3.5 Machine via an Upgrade to 4.1 without losing your Machines or the need to reinstall.\nActually - it worked, which did surprise myself in a good manner.\nIn Terms of Speed and Stabilty I did not recognize anything bad.\nEspecially the new features were downright awesome:\nI just love the USB Virtualisation.\nI really hit the top by plugin in an USB Videocard to my ESXi 4.1, and adding this Virtual Device to an Vmware Appliance: Awesome speed, had realtime video within my VM.\n( I used it to virtualize a bunch of Servers, Firewalls, Routers, Asterisk and a Webcamserver\u0026hellip; was really nice running ).\nThe only thing I really couldn\u0026rsquo;t test and missed was the PCI Virtualization.\nThat feature should work - but you need some kind of state-of-the-Art Intel CPU / Board with Virtual I/O\u0026hellip; and I had an old Tyan AMD Dual Core Board, only\u0026hellip; ^^'.\nSo maybe sometime later.\nBut after all, I\u0026rsquo;m really happy with that System, I could migrate an running Windows XP Machine to the ESXi4U1 and the Converter was really doing alright\u0026hellip;\n","date":"2011-02-20T20:31:51Z","permalink":"/posts/2011-02-20-esxi4u1-review/","title":"[ESXi4.1] Review"},{"content":"So, another tool I\u0026rsquo;d like to present, Dropbox.\nDropbox is an online file synchronisation service which does take place on Amazon Servers.\nThe files are encrypted and stored securely, also with quite high performance.\nNice part? 2 GB of space are free.\nYou get 250 MB for doing the Tour,\nand another 250 MB if you followed the invitation of another person.\n( Oh, and yes the other person does get 250 MB as well.. )\nJust in terms, heres my invitation link, would be nice if you would consider using it: http://db.tt/tIYzeey\nSo, how does it work?\nIn a nutshell: You create your account, download and install the client, enter the data and you\u0026rsquo;re done.\nYou got an \u0026ldquo;Dropbox\u0026rdquo; Folder now on your Win / Mac / Linux Machine which is synchronized.\nAs soon as you move files to this folder, Dropbox starts to upload the data.\nIf you change data, these changes are also commited directly.\nSo far, so good.\nThe magic starts happening as soon as you install the client onto another pc:\nFrom the moment you start copying files into the folder on one pc, these are also synchronized to the Dropbox Folder on the other one.\nAnd to make the thing perfect:\nThere are also clients for Android and iPhone as well as an \u0026ldquo;GUI-less\u0026rdquo; Version:\nThats right, you\u0026rsquo;re able to install Dropbox as \u0026ldquo;Backupmedium\u0026rdquo; to an Headless, Commandline only Linux Server.\n( http://wiki.dropbox.com/TipsAndTricks/TextBasedLinuxInstall )\nSo - I really can recommend it after using it for some months already, so I would suggest you to test it.\n","date":"2011-02-19T22:39:46Z","permalink":"/posts/2011-02-19-dropbox/","title":"Dropbox"},{"content":"Sorry there, has been some time since the last post.\nNope, this blog ain\u0026rsquo;t dead.\nProblem was that I\u0026rsquo;m within a big project, taking place since June / July 2010 which didn\u0026rsquo;t let me that much spare time.\nAnother thing I\u0026rsquo;m working on is my apprenticeship which will end in June this year.\nAnd a lot of private stuff was going on.\nSo, I\u0026rsquo;m quite sorry and hope you\u0026rsquo;re not disappointed.\nSome new stuff will follow shortly.\nNico\n","date":"2011-02-19T22:12:52Z","permalink":"/posts/2011-02-19-sorry-for-keeping-you-waiting/","title":"Sorry for keeping you waiting"},{"content":"PreWork:\napt-get update apt-get install build-essential apt-get install libssl-dev Install Madwifi for AR5007EG / AR5001\n# Download latest from http://snapshots.madwifi-project.org/madwifi-hal-0.10.5.6/ tar -xvzf madwifi-hal-0.10.5.6-r4126-20100324.tar.gz cd madwifi-hal-0.10.5.6-r4126-20100324 make make install # System, Hardware Driver, mark \u0026#34;Activate Alternate Drivers\u0026#34; reboot Install latest Aircrack-ng\n# Download latest from http://www.aircrack-ng.org/ # i.e. wget http://download.aircrack-ng.org/aircrack-ng-1.1.tar.gz tar -xvzf aircrack-ng-1.1.tar.gz cd aircrack-ng-1.1 make make install Lets go! ^^\n","date":"2010-10-03T17:08:15Z","permalink":"/posts/2010-10-03-ubuntu-10-04-install-madwifi-and-aircrack-ng/","title":"Ubuntu 10.04 - Install Madwifi and Aircrack-ng"},{"content":"If the virtual Keyboard on your Tablet PC does Crash on start, just do an \u0026ldquo;Fix-install\u0026rdquo; of the .Net Framework 2.\nReboot, and everything should be fine.\nPS: There should be some memory leak within that Application, and theres a patch for that. Just to note it.\n","date":"2010-09-20T20:09:35Z","permalink":"/posts/2010-09-20-winxp-tablet-edition-tabtip-exe-does-crash/","title":"[WinXP Tablet Edition] Tabtip.exe does Crash"},{"content":"Delete or move the File C:\\windows\\system32\\mscoree.dll and try Installation again!\n","date":"2010-09-20T15:12:12Z","permalink":"/posts/2010-09-20-office-2003-error-2908/","title":"Office 2003 Error 2908"},{"content":"To Factory Reset a Cisco IP Phone do the following:\nPress and hold #, disconnect and reconnect Power The Phone will check through the Line LEDs, on an 7911 or similar it will just light up the both Menu Keys and the Reciever \\ Handset LED - after that, let go of # Enter following: 1 2 3 4 5 6 7 8 9 * 0 # The Phone should start up and grab the latest config from your Callmanager To just Reboot a Cisco IP Phone do following:\nGo into any Menu Enter **#** Phone does reload\n( 7940, 7960: Hold *,6,Settings ) To open up the Configuration on a Phone:\nGo into Menu Setting Enter **## To Factory Reset and erase the firmware on a Cisco IP Phone do the following:\nPress and hold #, disconnect and reconnect Power The Phone will check through the Line LEDs, on an 7911 or similar it will just light up the both Menu Keys and the Reciever \\ Handset LED - after that, let go of # Enter following: 3 4 9 1 6 7 2 8 5 0 * # The Phone should start up and grab the latest Firmware from your Callmanager ","date":"2010-09-08T06:26:44Z","permalink":"/posts/2010-09-08-79xx-cisco-ip-phone-factory-reset-reboot/","title":"[79XX] Cisco IP Phone Factory Reset \u0026 Reboot"},{"content":"If you open CCNA Material in the Internet Explorer, it does always Popup the Error that it doesn\u0026rsquo;t want to execute these Scripts as they might be dangerous. You can click that away and work with the Course Materials - but it just tends to go on to ones\u0026rsquo; nerves. So to disable that: Internet Explorer, Extras, Internet Options, Advanced. Look for Security and enable \u0026ldquo;Execution of Interactive Content within Files on local Computer\u0026rdquo; and \u0026ldquo;Execution of Interactive Content within CDs on local Computer\u0026rdquo;.\n","date":"2010-09-05T10:37:43Z","permalink":"/posts/2010-09-05-ccna-cisco-networking-academy-material-error/","title":"[CCNA] Cisco Networking Academy Material Error"},{"content":" Open regedit\nNavigate to HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Desktop\\NameSpace\nRemove {645FF040-5081-101B-9F08-00AA002F954E}\n","date":"2010-08-11T14:11:24Z","permalink":"/posts/2010-08-11-winxp-remove-recyle-bin-from-desktop/","title":"[WinXP] Remove Recyle Bin from Desktop"},{"content":"Konboot\nubcd\\menus\\grub4dos\\others.lst\ntitle Kon-Boot V1.1\\n Boot into any OS without admin account password! map --mem /ubcd/images/konboot.img.gz (fd0) map (hd1) (hd0) map (hd0) (hd1) map --hook rootnoverify (fd0) chainloader +1 ubcd\\menus\\syslinux\\others.cfg\nLABEL - MENU LABEL Kon-Boot V1.1 TEXT HELP Boot into any OS without admin account password! ENDTEXT LINUX /boot/syslinux/memdisk INITRD /ubcd/images/konboot.img.gz ","date":"2010-07-30T06:21:59Z","permalink":"/posts/2010-07-30-integreate-konboot-in-ubcd-5-02/","title":"Integreate KonBoot in UBCD 5.02"},{"content":"EDIT: Reuploaded the PXE Package\nWhat you need:\ntftpd32 ( http://tftpd32.jounin.net/ ) UBCD 5.02 ( http://www.ultimatebootcd.com/ ) PXE Package ( https://mega.nz/#!4uxXyTCL!XrFyhuW5TnkdAomdtEWKZ-pbZnMXaiy0FjT_7mgcf1I ) We do start with the file preparations:\nPreparing UBCD\nUnzip the ISO to an folder, lets choose C:\\ubcd\nUnzip the PXE Package to C:\\ubcd, so that pxelinux.0, memdisk, menu.c32 and the pxelinux.cfg Folder are within the root Folder of the ubcd Setup up the tftpd32\nEasy as hell. Download, unzip.\nFor example C:\\tftpd32\nAnd now to the config. But first basics tftp config:\nstart tftpd32.exe in C:\\tftpd32 Server interfaces chose your NIC Press Settings Settings: Base Directory: C:\\ubcd Global Settings: TFTP Server [X] TFTP Client [ ] SNTP Server [ ] Syslog Server [ ] DHCP Server [X] Syslog Server: [ ] Save syslog message TFTPD Security: None TFTPD configuration: Timeout (seconds) 3 Max Retransmit 6 Tftp port 69 Local ports pool (nothing in here) Advanced TFTPD Options: [X] Option negotiation [ ] PXE Compatibility [X] Show Progress bar [X] Translate Unix file names [ ] Use TFTPD32 only on this interface [ ] Use anticipation window of 0 Bytes [X] Allow ´\\´ As virtual root [ ] Hide Window at startup [ ] Create “dir.txt” files [ ] Create md5 files [ ] Beep for long transfer Press Ok.\nGo to the DHCP Server tab and enter following Details depending on your Network configuration:\nIP Pool starting adress: Should be +1 of your NIC IP if you got no other PC in your network Size of Pool: Choose yourself how many clients you want to get in there. I picked 20, get no problems with leases… Boot File: pxelinux.0 Rest: Set it appopriate to your network – and Press the big long “SAVE” Button! And thats it.\n","date":"2010-06-25T07:26:36Z","permalink":"/posts/2010-06-25-pxe-boot-ubcd-5-02/","title":"PXE Boot UBCD 5.02"},{"content":" start cmd diskpart list disk select disk [DISKNUMBER] clean ","date":"2010-06-24T12:50:47Z","permalink":"/posts/2010-06-24-winxp-wipe-gpt-hdd-on-win-xp/","title":"[WinXP] Wipe GPT HDD on Win XP"},{"content":" Install Debian Add following lines to /etc/apt/sources.list :\ndeb http://live.debian.net/ sid-snapshots main contrib non-free deb-src http://live.debian.net/ sid-snapshots main contrib non-free apt-get install live-helper git git-core svn sudo mkdir /home/webconverger cd /home/webconverger git clone git://git.debian.org/git/debian-live/config-webc.git modify /home/webconverger/config-webc/webconverger/auto/config\n( i.e. change\nhomepage=http://portal.webconverger.com to the one you want,\nadd Kioskrest every 10 Minutes after last use:\nkioskresetstation=10\nchange bootlogo\nchange website to the one you want and add an bg.png to the account,\notherwise add noxbg to the boot to make the background blank ) cd /home/webconverger/config-webc/webconverger lh config lh build /home/webconverger/config-webc/webconverger/binary-hybrid.iso Clean to rebuild:\ncd /home/webconverger/config-webc/webconverger lh clean \u0026ndash;purge ","date":"2010-06-22T14:18:32Z","permalink":"/posts/2010-06-22-webconverger-build-your-own-internetcafe/","title":"Webconverger - Build your own Internetcafé"},{"content":"Factoryreset:\nTake phone off the hook Press ATA Button Dial 322873738# ( FACTRESET#) Press * and again * Hang up IP Adress:\nTake phone off the hook Press ATA Button Dial 80# Version:\nIP Adress:\nTake phone off the hook Press ATA Button Dial 123# Update:\nGet Update Package Run ata186us -any -d1 FirmwareFilename.zup Take phone off the hook Press ATA Button Dial the Textstring the Program gives out ( i.e. 100#10*120*12*92*8000# -\u0026gt; 100#IP*in*Oct*et*Port# ) You\u0026rsquo;re done Settings:\nhttp://ipaddress/dev\n","date":"2010-06-22T06:50:37Z","permalink":"/posts/2010-06-22-ata186-how-to-factory-reset-update-firmware/","title":"[ATA186] How to Factory Reset / Update Firmware"},{"content":"To configure network you need the \u0026ldquo;Virtual Network Editor\u0026rdquo; Tool. It IS integrated within the Installer - but isn\u0026rsquo;t unpacked (sadly). To get the vmnetcfg.exe you need to do following: Launch the installer with /e parameter: VMware-player-3.0.0-197124.exe /e .\\extract. With this command, the complete install gets \u0026ldquo;unzipped\u0026rdquo; into the \u0026ldquo;extract\u0026rdquo; folder. Within this folder you will find the network.cab. And in this file, you find the vmnetcfg.exe. Copy it to the Program Files\\VMware\\VMware Player Folder. Run the Program as Administrator.\nAnd to add multiple bridged interfaces, do configure an interface in the VMware File vmx with following:\nethernet0.present = \u0026#34;TRUE\u0026#34;\rethernet0.virtualDev = \u0026#34;vmxnet\u0026#34;\rethernet0.startConnected = \u0026#34;TRUE\u0026#34;\rethernet0.connectionType = \u0026#34;custom\u0026#34;\rethernet0.vnet = \u0026#34;/dev/vmnet0\u0026#34; ","date":"2010-06-15T11:46:16Z","permalink":"/posts/2010-06-15-player-3-0-vmware-player-network-config/","title":"[Player 3.0] VMware Player Network Config"},{"content":" Run regedit\nLook in HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E965-E325-11CE-BFC1-08002BE10318} for\nUpperFilters LowerFilters UpperFilters.bak LowerFilters.bak Delete them and reboot ","date":"2010-05-14T12:19:33Z","permalink":"/posts/2010-05-14-winxp-correct-error-39-no-cd-rom-found-driver-corrupt-or-missing/","title":"[WinXP] Correct Error 39 (No CD-Rom found, Driver Corrupt or missing)"},{"content":"As from the new Version on, Skype does not minimize to Taskbar in Windows 7 anymore. It does stay within the Systemtray and the Taskbar. To solve that, just change the Programm Compability Mode for Skype to Windows Viste, Service Pack 2.\n","date":"2010-04-01T16:54:40Z","permalink":"/posts/2010-04-01-win7-how-to-move-skype-from-taskbar-to-systemtray/","title":"[Win7] How To Move Skype from Taskbar to Systemtray"},{"content":"Hello,\nIt has been a while since I was really doing something new with VMWare, but as I had the need to install some new Servers, I also was looking for better ways on integrating oem.tgz and other features. For that, I stumbled upon an very cool and useful Linux Build Script for ESXi, made by the User Varazir. After this How To you\u0026rsquo;re going to hold an ISO Installer with SSH, FTP, RSYNC, WGET and the Community Unified Driver Pack 1.1.0 oem.tgz in your Hands. Or an USB Stick with the same features - as Live Boot or Installer. Your choice.\nDownload:\nVMware-VMvisor-InstallerCD-3.5.0_Update_5-207095.i386.iso: Vmware.com / ESXi 3.5 Download Section Mkesxiiso.sh: http://varazir.mine.nu/esxi/ CommunityUnifiedDriverPack_v1.1.0_U3-123629.oem.gz: http://www.vm-help.com/esx/esx3i/Custom_oem.tgz/CommunityUnifiedDriverPack_v1.1.0_U3-123629.oem.gz What you also need:\nAn english (!) speaking and recent Ubuntu Version with installed mkisofs. You can use the VMWare Player for that ;-).\nHow To:\nCopy all the files into the /tmp Folder of the Ubuntu Installation. Rename the CommunityUnifiedDriverPack_v1.1.0_U3-123629.oem.gz to oem.tgz Give chmod +x to the latest Mkesxiiso.sh (in my case: chmod +x mkesxiaio_3.9.1.sh). Run sudo ./mkesxiaio_3.9.1.sh Now the Script is going to walk you through the build of the ESXi System. Thanks to Varazir and www.vm-help.com its finally very easy to build an custom system!\nAddition: Add User to installed ESXi:\nIf you got an installed ESXi 3.5 and want to have an second User to use ssh and ftp instead of \u0026ldquo;root only\u0026rdquo;, do this:\nuserdelete the old additional VMWare User you created. Create it a new with: useradd Username -M -d /\nWith that command you create the new user and put its root folder into \u0026ldquo;/\u0026rdquo; (root).\nProblem why an normal user can\u0026rsquo;t access ssh is, that VMWare does erase the home Folder on every boot.\nYou should also change the User Password on creation with passwd Username\u0026hellip;\n","date":"2010-03-30T14:41:53Z","permalink":"/posts/2010-03-30-esxi-3-5-esxi-3-5-update-5-install-cd-with-oem-tgz-sshftprsync-and-wget-made-easy/","title":"[ESXi 3.5] ESXi 3.5 Update 5 Install CD with oem.tgz + ssh,ftp,rsync and wget (made easy)!"},{"content":"1.) Install the Network Sharing by install a new Network and Activate Filesharing\n2.) Enable the Guest Account\n3.) Local Securitysettings, Local, Userrights, Deny Access from Network to following Users: Remove \u0026ldquo;Guest\u0026rdquo; from that Tab\n4.) Use the Advanced File Sharing. Its more powerful.\n","date":"2010-03-19T12:31:17Z","permalink":"/posts/2010-03-19-windows-xp-network-sharing-problems/","title":"Windows XP Network Sharing Problems"},{"content":"After I got the iPAQ 3660 working again, I wanted to use it as Serial Console to Work on the Cisco Equipment \u0026ldquo;on the road\u0026rdquo;. To achieve that, we need two or three things:\n1.) An special connector Cable to attach the Serial Console of the iPAQ with an RS232 Connector / the Cisco Rollover Cable 2.) An Terminal Software. I did choose vxHpcPlus for that ( http://www.cam.com/vxhpcplus.html ) 3.) Something that makes it possible to use Landscape Mode so that you can read the Console Output more easily: NYDITOT Virtual Display, Version 5.02 ( http://www.nyditot.com/Products.asp )\n1.) Building the Connector / Adaptor Cable I did order an iPAQ 3600 to Serial Connector for Active Sync. Sadly it was defect, so I did choose to rebuild it to these Specs. First I did open up the iPAQ Connector and desolder it. Than I did insert it into the iPAQ and identified the needed Connector Ports. So if you look at the bottom of the iPAQ, placed face up on flat surface you will see these Connectors:\n2 4 6 8 10 12 1 3 5 7 9 11\nWiring: 4 - GND 7 - TX 8 - RX 11 - 3,3V\nThen I got an RS232 Male Connector and did wire these things up like that:\n5 4 3 2 1 6 7 8 9\n( Looking at the Solder Connectors! Not the \u0026ldquo;Connector Face\u0026rdquo;! )\n2 - RX 3 - TX 5 - GND\nI did left the 3,3V Cable \u0026ldquo;floating around\u0026rdquo; for maybe future projects.\n2.) Terminal Software Download the vxHpcPlus from the Website and install it with the Help of ActiveSync.\nThe Settings for the Serial Port are:\nDirect Connect - Async:\rPort: \u0026#34;Seriallkabel an COM1:\u0026#34;\rSettings: 9600, Databits: 8, Parity: None, Stop: 1, Flow Control: None\rTelnet: Send NUL after CR\rEmulation: VT100,\rFont size: 6,\rGerman Keyboard\r80 Colums,\rVertial Scroll,\rAuto Wrap,\rScroll,\rHot Button You can also change these to 115200 if you want.\n3.) NYDITOT Virtual Display, Landscape Download and install with ActiveSync. You can use it to use Landscape Mode which makes reading the Serial Console more easy. Its plain forward, so play with it.\nThanks a lot to Bev Howard for the excellent Printout of the Connector Port ( http://bevhoward.com/serial.htm#36xx ) this Site: http://www.handhelds.org/Compaq/iPAQH3600/iPAQ_H3600.html\n","date":"2010-03-16T10:50:30Z","permalink":"/posts/2010-03-16-ipaq-building-serial-console-for-ipaq-3600-to-access-cisco-equipment/","title":"[iPAQ] Building Serial Console for iPAQ 3600 to Access Cisco Equipment"},{"content":"\nAs I wanted an better GPS Mouse for the pRoToTyPe, I did buy an iGPS M Pro USB Mouse ( http://www.transystem.com.tw/products/index_detail.php?mcat_no=2\u0026cat_no=32\u0026pno=10\u0026ver=en ). I was certain that I could resolder it to Serial and use it on the Fonera Router. And thats how I did it: I did open up the Case, which was very easy, just unsnap it. You will find an socket were 4 wires do run out: Black (GND), Red (5V+), White (USB Data) and Green (USB Data) - I did cut these Wires and soldered them to an 8 Wire Cable. From the other 4 left Wires I did use only two: Under the Metal Shielding of the Mouse you will find an TX and an RX Solder Point - these are RS232 Connection Points. I did just pry open a bit of the shielding to run two wires into it, soldered it onto the points and did close the casing again. On the other end of the cable, I did solder on an RS232 Connector, Female. I did use the pRoToTyPe scheme with Phantom Power for that. Additionally, I did wire up Power and Ground a second Time to an USB Connector as well as the USB Datalines. So I have one RS232 Socket and one USB Connector and can use the Mouse for both occasions.\nHint: Do check first the Datalines of the USB Connector and the Socket so that you\u0026rsquo;re sure you will resolder the USB Data Lines again in correct order.\n","date":"2010-03-15T17:22:42Z","permalink":"/posts/2010-03-15-prototype-igps-m-pro-usb-to-serial/","title":"[pRoToTyPe] iGPS-M Pro USB to Serial"},{"content":"As the 3600 Series came out in 2000, it was one of the top notch Personal Digital Assistants and became very widely known through Business Class Users and Geeks. The only downside to this nice product was the big price tag which could go to nearly 1000 bucks. Now, after 10 Years, you got these machines for really less money and so the second named user class (Geeks, Nerds, etc - call it as you want) can accquire and use the now considered outdated Hardware. The 3660 does come with an 206 MhZ Arm (v4, SA1100) Processor, 16 MB Rom and 64 MB Ram (which are seperated dynamically into 32 MB \u0026ldquo;real\u0026rdquo; Ram and 32 MB \u0026ldquo;Flash\u0026rdquo; to save Work and Programs in). The Display takes it to an Resolution of 320x240 and does show 4096 Colours. For Connection, the 3660 does use and IRDA Port aswell as an Sync Port which can be used over USB and Serial Connection through the Cradle or an Adaptor Cable. As Expansion Slot \u0026ldquo;Sleeves\u0026rdquo; were aviable. They could contain 1 or 2 CF Card Slots or one PCMCIA Slot. Both with Battery so they extended the Running Time on the iPAQ a lot. To Upgrade the whole thing to the \u0026ldquo;not meant to be installed\u0026rdquo; Pocket PC 2002 install but than Shutdown Active Sync on your Windows PC. Attach the iPAQ to the Cradle and the get Following Software from the Compaq Site ( ftp://ftp.compaq.com/pub/softpaq/):\nThe Bootloader Update 1.87: ( ftp://ftp.compaq.com/pub/softpaq/sp20001-20500/SP20011.exe )\nThe Pocket PC 2002 Update / Rom Update 2.20: ( ftp://ftp.compaq.com/pub/softpaq/sp22501-23000/sp22899.exe )\nThe Pocket PC 2002 SP1: ( ftp://ftp.compaq.com/pub/softpaq/sp22501-23000/sp22547.exe )\nYou should download these files and start installing them one after another. First the Bootloader, than the Pocket PC Update and finally the SP1 over the ActiveSync Software. One thing to mention: The PocketPC 2002 was never meant to be installed on only 16 MB of Rom, so it does not install things like the MediaPlayer, but you can download these from Microsoft and install them in the \u0026ldquo;Rom\u0026rdquo;.\nTo find more Drivers and Software, check out this Website: http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareIndex.jsp?lang=en\u0026cc=us\u0026prodNameId=100807\u0026prodTypeId=215348\u0026prodSeriesId=96479\u0026swEnvOID=231\u0026taskId=135\u0026swLang=18\n","date":"2010-03-15T04:46:55Z","permalink":"/posts/2010-03-15-ipaq-upgrading-hp-ipaq-3660-from-ce-3-0pocket-pc-2000-to-pocket-pc-2002/","title":"[iPAQ] Upgrading HP iPAQ 3660 from CE 3.0/Pocket PC 2000 to Pocket PC 2002"},{"content":"Just create an Folder and call it GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}\nI think you\u0026rsquo;ll be surprised what to find\u0026hellip;\n","date":"2010-02-21T17:19:48Z","permalink":"/posts/2010-02-21-windows-7-god-mode/","title":"Windows 7 God Mode"},{"content":" Boot with gparted cd /tmp mkdir test mount /dev/sda1 /tmp/test chroot /dev/test /bin/bash Change: /etc/passwd:\nroot:x:0:0:root:/root:/sbin/nologin admin:x:591:503::/home/admin:/usr/local/platform/bin/cliscript.sh to:\nroot:x:0:0:root:/root:/bin/bash admin:x:591:503::/home/admin:/bin/bash /etc/shadow\nroot:!!:14657:0:99999:7::: to:\nroot:$1$D2ISXWJF$urnCHPxcF20BUWWwvTZfX0:14657:0:99999:7::: /etc/sudoers\nadd the Line for admin under the user privilege specification so that it looks like this:\n# User privilege specification root ALL=(ALL) ALL admin ALL=(ALL) ALL exit cd /tmp umount /tmp/test umount /dev/sda1 reboot login with admin and your password, you are in the bash shell, not in the cisco cli anymore enter sudo su and your login password and you become root ","date":"2010-02-19T13:03:55Z","permalink":"/posts/2010-02-19-rooting-cucm7-giving-bash-instead-of-the-restricted-cli/","title":"Rooting CUCM7 \u0026 Giving BASH instead of the restricted CLI"},{"content":"So, here is the Documentation of the Project that I have been working on the past Months. I called it \u0026ldquo;Prototype\u0026rdquo; for no other reason as not having another name ^^\u0026rsquo;. But actually its just an plain and simple Kismet Server running on an LaFonera 2100 and using GPS for Positing and Time aswell as an SD Card for the Log Files. So\u0026hellip; there were many things to do on that project, so that thing will get quite a bit longer and get some pics.\nAfter the installation the use of this system is very easy: Just connect up power, wait about an minute for it to load, attach the GPS Mouse and as soon as the GPS System gots its log, pRoToTyPe will load Kismet and start logging your Wardrive to the SD Card. After you\u0026rsquo;re done, shutdown the System, grab the SD-Card, plug it into your PC and translate the Kismet Files with this Log Viewer: http://mindflip.org/klv/ or use this Script: http://www.perrygeo.net/wordpress/?p=55 to translate the File into an Google Earth File. Additionally you can look upon what your Kismet Client is doing with this Tool: http://www.d3tr.de/dkc/ (you need to allow your client ip in the /etc/kismet/kismet.conf to access Kismet!) or with cgps http://home.arcor.de/ulf.lamping/gpsd/gpsd.html#mozTocId950639 you can see the GPS Data from the pRoToTyPe Box.\nHave fun!\nThanks a lot to:\nDigininja, Darren Kittchen, lOrdnicO, beakmyn, tOOdy, lopez1364 and cptdondo !\nWell we start with the first thing:\nI. Modding the LaFonera Router (Hardware)\nBuilding an battery pack: Thats an easy one. Just get an battery pack ( 4 * 1,5 AA Batterys Holder with 9V Clip ) and build the connector for this thing. I just used an 9V Battery Clip Connector and an suiting Connector to the original Fonera Power Port as I wanted an \u0026ldquo;Plug \u0026rsquo;n Play\u0026rdquo; Solution which should be as easy as it should be reliable.\nIntegrate an RS232 Port with V24 Standard Voltage To do this, I used an Dremel and installed it on the outside of the Fonera. I also did shorten down one unused Pin and the Screws that secured the Port as there isn\u0026rsquo;t much space within the Fonera and I wanted to install an custom/big Heatsink (later!). For the Conversion I did use this simple Circuit: http://www.dd-wrt.com/wiki/index.php/LaFonera_Hardware_Serial-Cable-Port#Very_simple_console_adapter\nSD-Card Mod The SD-Card Mod is really important as you have not much memory on your Fon left after installing OpenWRT - and the Kismet Server uses up quite a lot of space if not configured correctly - or if you want to do longer Wardrives. So first thing is to accquire an SD-Card Slot - possibly from an old and damaged MultiCard Reader. I did it that way, just openend the Case and unsoldered the Slot, so I could use it. Then, I did drill an hole into the buttom of the Fonera and installed the SD Card Slot there. For more pictures: http://www.dd-wrt.com/wiki/index.php/LaFonera_Hardware_SD-Card/Reader_Position\nAdditional to the Instruction there I did install an \u0026ldquo;Touch Protection\u0026rdquo; with Hotglue and Plexi as I didn\u0026rsquo;t wanted the PCB to lay out unprotected to everything\u0026hellip;\nAfter installing the Card Reader Slot Physically, you need to wire it. That was quite an problem for me, as the pictures in the net seemed a bit problematic and \u0026ldquo;not saying\u0026rdquo; - so I try to provide you with a bit more information than the other How To.\nIf you run the wires like this, this should be an easy step. I actually did solder on the wires \u0026ldquo;directly\u0026rdquo; to the connector pins of the sd card slot, as the reader had been damaged and i did not wanted to solder some points onto the really connectors and some onto the pins - so i run everything onto them and did isolate (and stablize) the whole thing with hot glue.\nSo, that should be it for the SD-Card Mod - with one exception: You need to desolder some smd capacitors (C142, C143, C144, C145). They\u0026rsquo;re found on the upper side of the Fonera Board directly next to the Ethernet Port, a little beneth the GPIO Ports we just soldered.\nI marked the \u0026ldquo;earlier\u0026rdquo; place of the capacitors red, just use an soldering iron with an small head and quickly give the one side 1-2 seconds warmth, than directly the other one, and it should come off by itself - or stick to the soldering iron. Now, the SD-Card Mod is finished - in terms of hardware.\nPhantom Powered GPS TTL Inteface So, for the GPS I did integrate and second Connector which does - unlike the Serial Port I added, does connect the Serial Port of the LaFonera directly (so on \u0026ldquo;TTL Level\u0026rdquo; without the Converter I did add for the serial port conversion) - and does add some phantom power aswell. But do only(!!!) do this if you know that your GPS Mouse works on TTL Level aswell. If you plug in an V24 (standard PC Level GPS Mouse) it will damage your LaFonera.\nWiring is following:\nBlack - Ground\rYellow - RX\rBlue - TX\rRed - 5V Tx and Rx are directly wired to the Serial Port of the LaFonera Interface, the 5 V come from the Main Power Connector of the LaFonera.\nAdding an Bigger Heatsink to the LaFonera As the \u0026ldquo;old\u0026rdquo; LaFonera had serious Issues concering the CPU Temperature - and also was fitted only with an small stock heatsink, I decided to replace the \u0026ldquo;old\u0026rdquo; and small with an custom one which did cover the whole metal casing of the Atheros CPU. I did not remove this casing as I did not wanted to expose the SMD stuff to any possible damage through the bigger heatsink. And I could attach it quite more easily. To remove the old heatsink, turn around the PCB - you will see that it is not only \u0026ldquo;glued\u0026rdquo; onto the metal shield with an thermal pad - but also has two solder points onto the backside of the PCB - which led to two metal fingers - which are soldered or glued to the heatsink. So long story short: First unsolder the two big solder points on the back of the PCB, then lever off the old Heatsink with an flat sharp screwdriver - gently. Otherwise you could damage the PCB or the Chipset! The new Heatsink is made from aluminium and derieved from an old and dead ATI Graphics Card. I did only cut it down with an saw to the needed size and did rasp the cut edges smooth. Then I applied thermal grease to the metal shield and did install the heatsink onto that. With super glue I secured the heatsink so that it can\u0026rsquo;t fall off or move. The old heatsink went onto the memory and I did secure it there with hot glue (yeah, you should NOT do that on things that get REALLY hot\u0026hellip; but its ok on that thing).\nHardware on the LaFonera is done So thats it, you\u0026rsquo;re done with the modifications on the LaFonera concerning the Hardware. One thing you should really look out is space - you can see you\u0026rsquo;re not going to have much space left after all these mods. In truth the most problematic thing was the perspex cover for the SD-Card Mod - and the cables that came from that. Always remind to keep all the cables only that long that you maybe can laydown the PCB flat onto an table an be able to work on it. The cable lengths for the SD-Mod onto its chapter is already correct. I had pictures with longer cables attached to it and other soldering points ( Earlier I did drain VCC and GND from the serial port - making it even worse.. ^^\u0026rsquo; ) - but I did only use the \u0026ldquo;correct\u0026rdquo; ones in this how to, so you should go for these lengths - or even shorter ones. It really makes your life a lot easier ( I did retrim the cables and the perspex VERY often until I could quite easily close the case again).\nII. Building Attachments and additional Adaptors (etc.)\nBuilding an GPS / Fonera Adaptor Building the Adaptor to connect the GPS Mouse to the Fonera is quite easy. I did even use the same colors in this Connector as within the Fonera: Black - Ground, Yellow - RX, Blue - TX, Red - 5. The 5V is the Phantom Power. You should NEVER connect an normal Serial GPS Mouse to this Connector, as the 5V Power are supplied over an Pin thats normally used for other Serial Data. So in the best case, this is not even connected in the Mouse. In the worst, you will kill your GPS Mouse. We\u0026rsquo;re going to modify an Serial GPS Mouse to our needs later. You may even forget about the Phantom Power, unplug it and use an normal serial GPS Mouse or build in an switch to enable or disable phantom power. But as I only wanted to use these particular Mouse\u0026hellip; I did just leave it like that (simpler and easier Design - and I love the Phantom Power idea: So I only have to use one big battery for everything and not 2 or 3 for every part of the gadget - and if one is empty nothing will work anymore\u0026hellip;). First picture does show the completed adaptor. I did use shrinkin tube to make the cable more robust in physical terms. I did also use hot glue and the installed strain relief to protect the cable and soldering points. The Pin Out for this Male RS232 plug is following: Pin 4 Rx (Yellow), Pin 3 Tx (Blue), Pin 1 GND (Black), Pin 9 5V (Red).\nBuilding an GPS / PC Adaptor To use the (later) modified serial Mouse on an stock RS232 (V24) PC Interface, we would need three things: 1.) Power injection for the GPS, 2.) TTL to V24 Conversion, 3.) Not giving the Phantom Power to your PC. All in all thats quite easy to handle. Sadly I don\u0026rsquo;t have many pictures of the Adaptor, but I\u0026rsquo;ll try to explain as good as I can. Basically you need to pack within that Adaptor the same RS232 / TTL Logic as you build into the Fonera. Then you need to wire up an USB Connector to this thing. You wire GND from the USB Connector and RS232 together and the 5V to a) the Phantom Power Port and b) you need to build an simple 5V to 3,3V Converter for the TTL to V24 Converter. This Converter you can see in the third Picture. R (Resistor) is 120 Ohm, while the Zenner Diode (3,3V) is set to reverse-biasing. You grab the power for the TTL Converter between the R and Z and connect minus to the end of the Z Diode. You connect from the female PC Port to the male GPS Port everything through (GND, RX, TX) except the Phantom Power which is only attached to the GPS Port.\nModding an Royaltek RGM 2000 (Bluemouse) for use with the Adaptors For this project I used an Royaltek RGM 2000 \u0026ldquo;Bluemouse\u0026rdquo;. Its an serial Mouse that I choosed mainly because of 3 Points: 1.) Its cheap (14€ I got one), 2.) Its widely available (Aldi did produce one Navigation System with this Mouse and therefor there are many of them on ebay\u0026hellip;), 3.) It was the first serial Mouse to find on googeling ;-). So, as the mouse has an proprietary connector, I did cut this down first. You now can see four wires, black (GND, Pin 5), red (5V, Pin 6), yellow (TX, Pin 2), white (RX, Pin 3) - packed into an female RS232 Connector. So the wiring can be found on the picture two (By the way, you will find that the RX is wired to the TX of the PC / Fonera Adaptor and vice versa - thats ok, should be and is an must ;-)).\nIII. Modding the LaFonera Router (Software) You got two possibilties: I. The Quickinstall with my Installscript II. The Manual Install by Hand (same Standard, describes more details if first does fail)\nI. Modding the LaFonera Router (Software) Script/Quickstart:\nInstalling OpenWRT Download http://downloads.openwrt.org/kamikaze/8.09/atheros/openwrt-atheros-vmlinux.lzma Download http://downloads.openwrt.org/kamikaze/8.09/atheros/openwrt-atheros-root.squashfs Download Fon Flash http://www.gargoyle-router.com/download.php (and install wpcap Drivers as well, are included in Wireshark) Download Prototype Install Script below prototype_install #!/bin/sh\r# Creates inittab, TZ, Rescue System\recho \u0026ldquo;Setting Up /etc/inittab for pRoToTyPe\u0026hellip;\u0026rdquo; echo \u0026ldquo;::sysinit:/etc/init.d/rcS S boot\u0026rdquo; \u0026gt; /etc/inittab echo \u0026ldquo;::shutdown:/etc/init.d/rcS K stop\u0026rdquo; \u0026raquo; /etc/inittab echo \u0026ldquo;#tts/0::askfirst:/bin/ash \u0026ndash;login\u0026rdquo; \u0026raquo; /etc/inittab echo \u0026ldquo;#ttyS0::askfirst:/bin/ash \u0026ndash;login\u0026rdquo; \u0026raquo; /etc/inittab echo \u0026ldquo;#tty1::askfirst:/bin/ash \u0026ndash;login\u0026rdquo; \u0026raquo; /etc/inittab\necho \u0026ldquo;Setting Up TZ for Europe, Berlin\u0026hellip;\u0026rdquo; echo \u0026ldquo;CET-1CEST,M3.5.0,M10.5.0/3\u0026rdquo; \u0026gt; /etc/TZ\necho \u0026ldquo;Setting Up Rescue System:\u0026rdquo; echo \u0026ldquo;Creating /etc/hotplug.d/button/30-button-trigger\u0026hellip;\u0026rdquo; mkdir /etc/hotplug.d/button echo \u0026ldquo;#!/bin/sh\u0026rdquo; \u0026gt; /etc/hotplug.d/button/30-button-trigger echo \u0026lsquo;if [ \u0026ldquo;${ACTION}\u0026rdquo; == \u0026ldquo;released\u0026rdquo; ]\u0026rsquo; \u0026raquo; /etc/hotplug.d/button/30-button-trigger echo \u0026ldquo;then\u0026rdquo; \u0026raquo; /etc/hotplug.d/button/30-button-trigger echo \u0026ldquo;/etc/init.d/prototype_reset\u0026rdquo; \u0026raquo; /etc/hotplug.d/button/30-button-trigger echo \u0026ldquo;fi\u0026rdquo; \u0026raquo; /etc/hotplug.d/button/30-button-trigger\necho \u0026ldquo;Creating /etc/init.d/prototype_reset\u0026hellip;\u0026rdquo; echo \u0026ldquo;#!/bin/sh\u0026rdquo; \u0026gt; /etc/init.d/prototype_reset echo \u0026ldquo;echo \u0026lsquo;::sysinit:/etc/init.d/rcS S boot\u0026rsquo; \u0026gt; /etc/inittab\u0026rdquo; \u0026raquo; /etc/init.d/prototype_reset echo \u0026ldquo;echo \u0026lsquo;::shutdown:/etc/init.d/rcS K stop\u0026rsquo; \u0026raquo; /etc/inittab\u0026rdquo; \u0026raquo; /etc/init.d/prototype_reset echo \u0026ldquo;echo \u0026rsquo;tts/0::askfirst:/bin/ash \u0026ndash;login\u0026rsquo; \u0026raquo; /etc/inittab\u0026rdquo; \u0026raquo; /etc/init.d/prototype_reset echo \u0026ldquo;echo \u0026rsquo;ttyS0::askfirst:/bin/ash \u0026ndash;login\u0026rsquo; \u0026raquo; /etc/inittab\u0026rdquo; \u0026raquo; /etc/init.d/prototype_reset echo \u0026ldquo;echo \u0026lsquo;#tty1::askfirst:/bin/ash \u0026ndash;login\u0026rsquo; \u0026raquo; /etc/inittab\u0026rdquo; \u0026raquo; /etc/init.d/prototype_reset echo \u0026ldquo;init -q\u0026rdquo; \u0026raquo; /etc/init.d/prototype_reset echo \u0026ldquo;stty -F /dev/ttyS0 raw speed 9600 -clocal cs8 -parenb -cstopb\u0026rdquo; \u0026raquo; /etc/init.d/prototype_reset echo \u0026ldquo;rm /etc/rc.d/K15prototype\u0026rdquo; \u0026raquo; /etc/init.d/prototype_reset echo \u0026ldquo;rm /etc/rc.d/S94prototype\u0026rdquo; \u0026raquo; /etc/init.d/prototype_reset echo \u0026ldquo;ln -s /etc/init.d/prototype_rebirth /etc/rc.d/S94prototype_rebirth\u0026rdquo; \u0026raquo; /etc/init.d/prototype_reset echo \u0026ldquo;reboot\u0026rdquo; \u0026raquo; /etc/init.d/prototype_reset chmod +x /etc/init.d/prototype_reset\necho \u0026ldquo;Creating /etc/init.d/prototype_rebirth\u0026hellip;\u0026rdquo; echo \u0026ldquo;#!/bin/sh /etc/rc.common\u0026rdquo; \u0026gt; /etc/init.d/prototype_rebirth echo \u0026ldquo;# Example script\u0026rdquo; \u0026raquo; /etc/init.d/prototype_rebirth echo \u0026ldquo;# Copyright (C) 2007 OpenWrt.org\u0026rdquo; \u0026raquo; /etc/init.d/prototype_rebirth echo \u0026ldquo;START=94\u0026rdquo; \u0026raquo; /etc/init.d/prototype_rebirth echo \u0026ldquo;start() {\u0026rdquo; \u0026raquo; /etc/init.d/prototype_rebirth echo \u0026ldquo;ln -s /etc/init.d/prototype /etc/rc.d/K15prototype\u0026rdquo; \u0026raquo; /etc/init.d/prototype_rebirth echo \u0026ldquo;ln -s /etc/init.d/prototype /etc/rc.d/S94prototype\u0026rdquo; \u0026raquo; /etc/init.d/prototype_rebirth echo \u0026ldquo;echo \u0026lsquo;::sysinit:/etc/init.d/rcS S boot\u0026rsquo; \u0026gt; /etc/inittab\u0026rdquo; \u0026raquo; /etc/init.d/prototype_rebirth echo \u0026ldquo;echo \u0026lsquo;::shutdown:/etc/init.d/rcS K stop\u0026rsquo; \u0026raquo; /etc/inittab\u0026rdquo; \u0026raquo; /etc/init.d/prototype_rebirth echo \u0026ldquo;echo \u0026lsquo;#tts/0::askfirst:/bin/ash \u0026ndash;login\u0026rsquo; \u0026raquo; /etc/inittab\u0026rdquo; \u0026raquo; /etc/init.d/prototype_rebirth echo \u0026ldquo;echo \u0026lsquo;#ttyS0::askfirst:/bin/ash \u0026ndash;login\u0026rsquo; \u0026raquo; /etc/inittab\u0026rdquo; \u0026raquo; /etc/init.d/prototype_rebirth echo \u0026ldquo;echo \u0026lsquo;#tty1::askfirst:/bin/ash \u0026ndash;login\u0026rsquo; \u0026raquo; /etc/inittab\u0026rdquo; \u0026raquo; /etc/init.d/prototype_rebirth echo \u0026ldquo;rm /etc/rc.d/S94prototype_rebirth\u0026rdquo; \u0026raquo; /etc/init.d/prototype_rebirth echo \u0026ldquo;}\u0026rdquo; \u0026raquo; /etc/init.d/prototype_rebirth chmod +x /etc/init.d/prototype_rebirth\necho \u0026ldquo;Creating /etc/config/network Config\u0026hellip;\u0026rdquo; echo \u0026ldquo;# Copyright (C) 2006 OpenWrt.org\u0026rdquo; \u0026gt; /etc/config/network echo \u0026quot;\u0026quot; \u0026raquo; /etc/config/network echo \u0026ldquo;config interface loopback\u0026rdquo; \u0026raquo; /etc/config/network echo \u0026quot;\toption ifname\tlo\u0026quot; \u0026raquo; /etc/config/network echo \u0026quot;\toption proto\tstatic\u0026quot; \u0026raquo; /etc/config/network echo \u0026quot;\toption ipaddr\t127.0.0.1\u0026quot; \u0026raquo; /etc/config/network echo \u0026quot;\toption netmask\t255.0.0.0\u0026quot; \u0026raquo; /etc/config/network echo \u0026quot;\u0026quot; \u0026raquo; /etc/config/network echo \u0026ldquo;config interface lan\u0026rdquo; \u0026raquo; /etc/config/network echo \u0026quot;\toption ifname\teth0\u0026quot; \u0026raquo; /etc/config/network echo \u0026quot;\toption type bridge\u0026quot; \u0026raquo; /etc/config/network echo \u0026quot;\toption proto\tstatic\u0026quot; \u0026raquo; /etc/config/network echo \u0026quot;\toption ipaddr\t192.168.0.2\u0026quot; \u0026raquo; /etc/config/network echo \u0026quot;\toption netmask\t255.255.255.0\u0026quot; \u0026raquo; /etc/config/network echo \u0026quot;\toption dns\t192.168.0.1\u0026quot; \u0026raquo; /etc/config/network echo \u0026quot;\toption gateway\t192.168.0.1\u0026quot; \u0026raquo; /etc/config/network\necho \u0026ldquo;Creating /etc/config/network.ics Config\u0026hellip;\u0026rdquo; echo \u0026ldquo;# Copyright (C) 2006 OpenWrt.org\u0026rdquo; \u0026gt; /etc/config/network.ics echo \u0026quot;\u0026quot; \u0026raquo; /etc/config/network.ics echo \u0026ldquo;config interface loopback\u0026rdquo; \u0026raquo; /etc/config/network.ics echo \u0026quot;\toption ifname\tlo\u0026quot; \u0026raquo; /etc/config/network.ics echo \u0026quot;\toption proto\tstatic\u0026quot; \u0026raquo; /etc/config/network.ics echo \u0026quot;\toption ipaddr\t127.0.0.1\u0026quot; \u0026raquo; /etc/config/network.ics echo \u0026quot;\toption netmask\t255.0.0.0\u0026quot; \u0026raquo; /etc/config/network.ics echo \u0026quot;\u0026quot; \u0026raquo; /etc/config/network.ics echo \u0026ldquo;config interface lan\u0026rdquo; \u0026raquo; /etc/config/network.ics echo \u0026quot;\toption ifname\teth0\u0026quot; \u0026raquo; /etc/config/network.ics echo \u0026quot;\toption type bridge\u0026quot; \u0026raquo; /etc/config/network.ics echo \u0026quot;\toption proto\tstatic\u0026quot; \u0026raquo; /etc/config/network.ics echo \u0026quot;\toption ipaddr\t192.168.0.2\u0026quot; \u0026raquo; /etc/config/network.ics echo \u0026quot;\toption netmask\t255.255.255.0\u0026quot; \u0026raquo; /etc/config/network.ics echo \u0026quot;\toption dns\t192.168.0.1\u0026quot; \u0026raquo; /etc/config/network.ics echo \u0026quot;\toption gateway\t192.168.0.1\u0026quot; \u0026raquo; /etc/config/network.ics\necho \u0026ldquo;Creating /etc/config/network.home Config\u0026hellip;\u0026rdquo; echo \u0026ldquo;# Copyright (C) 2006 OpenWrt.org\u0026rdquo; \u0026gt; /etc/config/network.home echo \u0026quot;\u0026quot; \u0026raquo; /etc/config/network.home echo \u0026ldquo;config interface loopback\u0026rdquo; \u0026raquo; /etc/config/network.home echo \u0026quot;\toption ifname\tlo\u0026quot; \u0026raquo; /etc/config/network.home echo \u0026quot;\toption proto\tstatic\u0026quot; \u0026raquo; /etc/config/network.home echo \u0026quot;\toption ipaddr\t127.0.0.1\u0026quot; \u0026raquo; /etc/config/network.home echo \u0026quot;\toption netmask\t255.0.0.0\u0026quot; \u0026raquo; /etc/config/network.home echo \u0026quot;\u0026quot; \u0026raquo; /etc/config/network.home echo \u0026ldquo;config interface lan\u0026rdquo; \u0026raquo; /etc/config/network.home echo \u0026quot;\toption ifname\teth0\u0026quot; \u0026raquo; /etc/config/network.home echo \u0026quot;\toption type bridge\u0026quot; \u0026raquo; /etc/config/network.home echo \u0026quot;\toption proto\tstatic\u0026quot; \u0026raquo; /etc/config/network.home echo \u0026quot;\toption ipaddr\t192.168.2.160\u0026quot; \u0026raquo; /etc/config/network.home echo \u0026quot;\toption netmask\t255.255.255.0\u0026quot; \u0026raquo; /etc/config/network.home echo \u0026quot;\toption dns\t192.168.2.1\u0026quot; \u0026raquo; /etc/config/network.home echo \u0026quot;\toption gateway\t192.168.2.1\u0026quot; \u0026raquo; /etc/config/network.home\necho \u0026ldquo;Creating /etc/config/system Config\u0026hellip;\u0026rdquo; echo \u0026quot;\u0026quot; \u0026gt; /etc/config/system echo \u0026ldquo;config \u0026lsquo;system\u0026rsquo;\u0026rdquo; \u0026raquo; /etc/config/system echo \u0026quot;\toption \u0026lsquo;hostname\u0026rsquo; \u0026lsquo;pRoToTyPe\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/system echo \u0026quot;\toption \u0026lsquo;zonename\u0026rsquo; \u0026lsquo;Europe/Berlin\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/system echo \u0026quot;\toption \u0026rsquo;timezone\u0026rsquo; \u0026lsquo;CET-1CEST,M3.5.0,M10.5.0/3\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/system echo \u0026quot;\u0026quot; \u0026raquo; /etc/config/system echo \u0026ldquo;config \u0026lsquo;button\u0026rsquo;\u0026rdquo; \u0026raquo; /etc/config/system echo \u0026quot;\toption \u0026lsquo;button\u0026rsquo; \u0026lsquo;reset\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/system echo \u0026quot;\toption \u0026lsquo;action\u0026rsquo; \u0026lsquo;released\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/system echo \u0026quot;\toption \u0026lsquo;handler\u0026rsquo; \u0026rsquo;echo test\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/system echo \u0026quot;\toption \u0026lsquo;min\u0026rsquo; \u0026lsquo;0\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/system echo \u0026quot;\toption \u0026lsquo;max\u0026rsquo; \u0026lsquo;4\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/system echo \u0026quot;\u0026quot; \u0026raquo; /etc/config/system echo \u0026ldquo;config \u0026lsquo;button\u0026rsquo;\u0026rdquo; \u0026raquo; /etc/config/system echo \u0026quot;\toption \u0026lsquo;button\u0026rsquo; \u0026lsquo;reset\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/system echo \u0026quot;\toption \u0026lsquo;action\u0026rsquo; \u0026lsquo;released\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/system echo \u0026quot;\toption \u0026lsquo;handler\u0026rsquo; \u0026rsquo;logger reboot\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/system echo \u0026quot;\toption \u0026lsquo;min\u0026rsquo; \u0026lsquo;4\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/system echo \u0026quot;\toption \u0026lsquo;max\u0026rsquo; \u0026lsquo;8\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/system echo \u0026quot;\u0026quot; \u0026raquo; /etc/config/system echo \u0026ldquo;config \u0026lsquo;button\u0026rsquo;\u0026rdquo; \u0026raquo; /etc/config/system echo \u0026quot;\toption \u0026lsquo;button\u0026rsquo; \u0026lsquo;reset\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/system echo \u0026quot;\toption \u0026lsquo;action\u0026rsquo; \u0026lsquo;released\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/system echo \u0026quot;\toption \u0026lsquo;handler\u0026rsquo; \u0026rsquo;logger factory default\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/system echo \u0026quot;\toption \u0026lsquo;min\u0026rsquo; \u0026lsquo;9\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/system echo \u0026quot;\toption \u0026lsquo;max\u0026rsquo; \u0026lsquo;30\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/system\necho \u0026ldquo;Creating /etc/config/fstab\u0026hellip;\u0026rdquo; echo \u0026quot;\u0026quot; \u0026gt; /etc/config/fstab echo \u0026ldquo;config \u0026lsquo;mount\u0026rsquo;\u0026rdquo; \u0026raquo; /etc/config/fstab echo \u0026quot;\toption \u0026rsquo;enabled\u0026rsquo; \u0026lsquo;1\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/fstab echo \u0026quot;\toption \u0026lsquo;device\u0026rsquo; \u0026lsquo;/dev/mmcblk0p1\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/fstab echo \u0026quot;\toption \u0026lsquo;fstype\u0026rsquo; \u0026lsquo;vfat\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/fstab echo \u0026quot;\toption \u0026rsquo;target\u0026rsquo; \u0026lsquo;/mnt\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/fstab echo \u0026quot;\toption \u0026lsquo;options\u0026rsquo; \u0026lsquo;defaults\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/fstab echo \u0026quot;\u0026quot; \u0026raquo; /etc/config/fstab echo \u0026ldquo;config \u0026lsquo;swap\u0026rsquo;\u0026rdquo; \u0026raquo; /etc/config/fstab echo \u0026quot;\toption \u0026lsquo;device\u0026rsquo; \u0026lsquo;/dev/sda2\u0026rsquo;\u0026quot; \u0026raquo; /etc/config/fstab\necho \u0026ldquo;Creating /etc/init.d/mmc_over_gpio\u0026hellip;\u0026rdquo; echo \u0026ldquo;#!/bin/sh /etc/rc.common\u0026rdquo; \u0026gt; /etc/init.d/mmc_over_gpio echo \u0026ldquo;# Copyright (C) 2008 OpenWrt.org\u0026rdquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026ldquo;START=90\u0026rdquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026lsquo;CONFIGFS_DIR=\u0026quot;/config/gpiommc\u0026quot;\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026ldquo;# add_device(name, DI_pin, DO_pin, CLK_pin, CS_pin, mode)\u0026rdquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026ldquo;add_device() {\u0026rdquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\tlocal dir=\u0026quot;$CONFIGFS_DIR/$1\u0026quot;\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\tmkdir $dir\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\t[ $? -eq 0 ] || return 1\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\techo $2 \u0026gt; $dir/gpio_data_in\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\t[ $? -eq 0 ] || return 1\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\techo $3 \u0026gt; $dir/gpio_data_out\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\t[ $? -eq 0 ] || return 1\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\techo $4 \u0026gt; $dir/gpio_clock\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\t[ $? -eq 0 ] || return 1\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\techo $5 \u0026gt; $dir/gpio_chipselect\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\t[ $? -eq 0 ] || return 1\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\techo $6 \u0026gt; $dir/spi_mode\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\t[ $? -eq 0 ] || return 1\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\t# XXX We have more config options available. Use defaults for now.\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\techo 1 \u0026gt; $dir/register\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\t[ $? -eq 0 ] || return 1\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\treturn 0\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026ldquo;}\u0026rdquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026ldquo;# remove_device(name)\u0026rdquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026ldquo;remove_device() {\u0026rdquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\tlocal dir=\u0026quot;$CONFIGFS_DIR/$1\u0026quot;\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\trmdir $dir\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026ldquo;}\u0026rdquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026ldquo;mount_configfs() {\u0026rdquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\t# FIXME: This should probably be done somewhere else.\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\tmount | grep configfs\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\tif [ $? -eq 0 ]; then\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\t# already mounted\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\treturn 0\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\tfi\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\tmkdir -p /config\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\t[ $? -eq 0 ] || return 1\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\tmount configfs -t configfs /config\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\t[ $? -eq 0 ] || return 1\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\treturn 0\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026ldquo;}\u0026rdquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026ldquo;start() {\u0026rdquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\t# Make sure configfs is mounted\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\tmount_configfs\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\t[ $? -eq 0 ] || return 1\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\t#FIXME we should use a config file, but I dunno how that parser works.\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\t#add_device \u0026ldquo;default\u0026rdquo; 5 4 3 7 0\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\t\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\tadd_device \u0026ldquo;default\u0026rdquo; 1 3 4 14 0\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\tsleep 1\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\tremove_device \u0026ldquo;default\u0026rdquo;\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\tsleep 1\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\tadd_device \u0026ldquo;default\u0026rdquo; 1 3 4 7 0\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026ldquo;}\u0026rdquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026quot;\u0026quot; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026ldquo;stop() {\u0026rdquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026rsquo;\tremove_device \u0026ldquo;default\u0026rdquo;\u0026rsquo; \u0026raquo; /etc/init.d/mmc_over_gpio echo \u0026ldquo;}\u0026rdquo; \u0026raquo; /etc/init.d/mmc_over_gpio chmod +x /etc/init.d/mmc_over_gpio\necho \u0026ldquo;Creating /etc/init.d/prototype\u0026hellip;\u0026rdquo; echo \u0026ldquo;#!/bin/sh /etc/rc.common\u0026rdquo; \u0026gt; /etc/init.d/prototype echo \u0026ldquo;# Example script\u0026rdquo; \u0026raquo; /etc/init.d/prototype echo \u0026ldquo;# Copyright (C) 2007 OpenWrt.org\u0026rdquo; \u0026raquo; /etc/init.d/prototype echo \u0026quot;\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026ldquo;START=94\u0026rdquo; \u0026raquo; /etc/init.d/prototype echo \u0026ldquo;STOP=15\u0026rdquo; \u0026raquo; /etc/init.d/prototype echo \u0026quot;\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026ldquo;start() { \u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; echo \u0026lsquo;Loading pRoToTyPe\u0026hellip;\u0026rsquo;\u0026rdquo; \u0026raquo; /etc/init.d/prototype echo \u0026quot; \u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; # mount sd card\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; echo \u0026lsquo;Load SD-Card Driver\u0026hellip;\u0026rsquo;\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; /etc/init.d/mmc_over_gpio stop\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; /etc/init.d/mmc_over_gpio start\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; sleep 1\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; echo \u0026lsquo;Mount SD-Card..\u0026rsquo;\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; mount /dev/mmcblk0p1 /mnt\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; \u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; # setup serial port\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; echo \u0026lsquo;Setup Serial Port\u0026hellip;\u0026rsquo;\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; stty -F /dev/ttyS0 raw speed 4800 -clocal cs8 -parenb -cstopb\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; \u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; # setup gpsd\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; echo \u0026lsquo;Setup GPSD\u0026hellip;\u0026rsquo;\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; gpsd /dev/ttyS0 -n # with none wait\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; \u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; #setup time via gps\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; i=0;\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026rsquo; while (i=$(($i+1)) \u0026amp;\u0026amp; [ \u0026ldquo;$i\u0026rdquo; -lt 5 ]); \u0026rsquo; \u0026raquo; /etc/init.d/prototype echo \u0026quot; do\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; sleep 5\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; (echo d ; sleep 1; echo d; sleep 1; echo d) | (nc localhost 2947) \u0026gt; /tmp/gps_time \u0026amp;\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026rsquo; TEST=$!\u0026rsquo; \u0026raquo; /etc/init.d/prototype echo \u0026quot; sleep 4\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026rsquo; kill -s SIGINT $TEST\u0026rsquo; \u0026raquo; /etc/init.d/prototype echo \u0026quot; killall nc\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026rsquo; date=$cat /tmp/gps_time | tail -n 1\u0026rsquo; \u0026raquo; /etc/init.d/prototype echo \u0026quot; year=$(echo $date | sed \u0026rsquo;s/.D=([0-9])-./\\1/\u0026rsquo;)\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026rsquo; [ \u0026ldquo;$year\u0026rdquo; -gt 2004 ] \u0026amp;\u0026amp; break\u0026rsquo; \u0026raquo; /etc/init.d/prototype echo \u0026quot; done; \u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026rsquo; echo \u0026ldquo;slept $i times while waiting gps lock..\u0026rdquo;\u0026rsquo; \u0026raquo; /etc/init.d/prototype echo \u0026quot; \u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026rsquo; echo \u0026ldquo;Setting date $date\u0026rdquo;\u0026rsquo; \u0026raquo; /etc/init.d/prototype echo \u0026quot; date -s $(echo $date | sed \u0026rsquo;s/GPSD,D=([0-9])(.):./\\2\\1/\u0026rsquo; | sed \u0026rsquo;s/[^0-9]//g\u0026rsquo;)\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; \u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; # start kismet\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; echo \u0026lsquo;Start Kismet\u0026hellip;\u0026rsquo;\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; /usr/bin/kismet_server -f /etc/kismet/kismet.conf \u0026amp;\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot;\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot;\t# thats it, we rock!\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot;\techo \u0026lsquo;pRoToTyPe up and running!\u0026rsquo;\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026ldquo;}\u0026rdquo; \u0026raquo; /etc/init.d/prototype echo \u0026quot;\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026ldquo;stop() { \u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; echo \u0026lsquo;Unloading pRoToTyPe\u0026hellip;\u0026rsquo;\u0026rdquo; \u0026raquo; /etc/init.d/prototype echo \u0026quot; # command to kill application\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; \u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; echo \u0026lsquo;Kill Kismet\u0026hellip;\u0026rsquo;\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; killall kismet_server\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; echo \u0026lsquo;Kill GPSD\u0026hellip;\u0026rsquo;\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; killall gpsd\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; echo \u0026lsquo;Reset Serial Port\u0026hellip;\u0026rsquo;\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; stty -F /dev/ttyS0 raw speed 9600 -clocal cs8 -parenb -cstopb\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot; \u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot;\techo \u0026lsquo;UmountSD-Card\u0026hellip;\u0026rsquo;\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot;\tumount /mnt\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot;\tsleep 5\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot;\techo \u0026lsquo;Unload SD-Card Driver\u0026hellip;\u0026rsquo;\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026quot;\t/etc/init.d/mmc_over_gpio stop\u0026quot; \u0026raquo; /etc/init.d/prototype echo \u0026ldquo;}\u0026rdquo; \u0026raquo; /etc/init.d/prototype chmod +x /etc/init.d/prototype\necho \u0026ldquo;Creating /etc/kismet/kismet.conf\u0026hellip;\u0026rdquo; mkdir /etc/kismet echo \u0026ldquo;# Kismet config file\u0026rdquo; \u0026gt; /etc/kismet/kismet.conf echo \u0026ldquo;# Most of the \u0026ldquo;static\u0026rdquo; configs have been moved to here \u0026ndash; the command line\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# config was getting way too crowded and cryptic. We want functionality,\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# not continually reading \u0026ndash;help!\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Version of Kismet config\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;version=2005.01.R1\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Name of server (Purely for organiational purposes)\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;servername=Kismet\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# User to setid to (should be your normal user)\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;#suiduser=nobody\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;suiduser=root\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Sources are defined as:\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# source=cardtype,interface,name[,initialchannel]\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Card types and required drivers are listed in the README.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# The initial channel is optional, if hopping is not enabled it can be used\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# to set the channel the interface listens on.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# YOU MUST CHANGE THIS TO BE THE SOURCE YOU WANT TO USE\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;#source=wrt54g,eth1,wireless\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# For v1 hardware uncomment this:\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# source=wrt54g,eth2,wireless\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;source=Madwifi_g,wifi0,wireless\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Comma-separated list of sources to enable. This is only needed if you defined\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# multiple sources and only want to enable some of them. By default, all defined\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# sources are enabled.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# For example:\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# enablesources=prismsource,ciscosource\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Do we channelhop?\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;#channelhop=true\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;channelhop=false\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# How many channels per second do we hop? (1-10)\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;channelvelocity=5\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# By setting the dwell time for channel hopping we override the channelvelocity\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# setting above and dwell on each channel for the given number of seconds.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;#channeldwell=10\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Do we split channels between cards on the same spectrum? This means if \u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# multiple 802.11b capture sources are defined, they will be offset to cover\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# the most possible spectrum at a given time. This also controls splitting\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# fine-tuned sourcechannels lines which cover multiple interfaces (see below)\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;channelsplit=true\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Basic channel hopping control:\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# These define the channels the cards hop through for various frequency ranges\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# supported by Kismet. More finegrain control is available via the \u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# \u0026ldquo;sourcechannels\u0026rdquo; configuration option.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# \u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Don\u0026rsquo;t change the IEEE80211 identifiers or channel hopping won\u0026rsquo;t work.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Users outside the US might want to use this list:\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# defaultchannels=IEEE80211b:1,7,13,2,8,3,14,9,4,10,5,11,6,12\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;defaultchannels=IEEE80211b:1,6,11,2,7,3,8,4,9,5,10\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# 802.11g uses the same channels as 802.11b\u0026hellip;\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;defaultchannels=IEEE80211g:1,6,11,2,7,3,8,4,9,5,10\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# 802.11a channels are non-overlapping so sequential is fine. You may want to\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# adjust the list depending on the channels your card actually supports.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# defaultchannels=IEEE80211a:36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,136,140,149,153,157,161,184,188,192,196,200,204,208,212,216 \u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;defaultchannels=IEEE80211a:36,40,44,48,52,56,60,64\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Combo cards like Atheros use both \u0026lsquo;a\u0026rsquo; and \u0026lsquo;b/g\u0026rsquo; channels. Of course, you\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# can also explicitly override a given source. You can use the script \u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# extras/listchan.pl to extract all the channels your card supports.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;defaultchannels=IEEE80211ab:1,6,11,2,7,3,8,4,9,5,10,36,40,44,48,52,56,60,64\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Fine-tuning channel hopping control:\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# The sourcechannels option can be used to set the channel hopping for \u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# specific interfaces, and to control what interfaces share a list of \u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# channels for split hopping. This can also be used to easily lock\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# one card on a single channel while hopping with other cards.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Any card without a sourcechannel definition will use the standard hopping\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# list.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# sourcechannels=sourcename[,sourcename]:ch1,ch2,ch3,\u0026hellip;chN\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# ie, for us channels on the source \u0026lsquo;prism2source\u0026rsquo; (same as normal channel\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# hopping behavior):\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# sourcechannels=prism2source:1,6,11,2,7,3,8,4,9,5,10\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Given two capture sources, \u0026ldquo;prism2a\u0026rdquo; and \u0026ldquo;prism2b\u0026rdquo;, we want prism2a to stay\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# on channel 6 and prism2b to hop normally. By not setting a sourcechannels \u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# line for prism2b, it will use the standard hopping.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# sourcechannels=prism2a:6\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# To assign the same custom hop channel to multiple sources, or to split the \u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# same custom hop channel over two sources (if splitchannels is true), list\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# them all on the same sourcechannels line:\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# sourcechannels=prism2a,prism2b,prism2c:1,6,11\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Port to serve GUI data\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;tcpport=2501\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# People allowed to connect, comma seperated IP addresses or network/mask\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# blocks. Netmasks can be expressed as dotted quad (/255.255.255.0) or as\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# numbers (/24)\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;allowedhosts=127.0.0.1,192.168.2.4,192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Maximum number of concurrent GUI\u0026rsquo;s\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;maxclients=5\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Do we have a GPS?\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;#gps=false\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;## GPSd\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;gps=true\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;#gpstype=gpsd\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;#gpshost=localhost:2947\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;#gpsmodelock=false\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;#gpsreconnect=true\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;## GPS Manual\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;#gps=true\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;#gpstype=serial\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;#gpsdevice=/dev/ttyS0\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;#gpsreconnect=true\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Host:port that GPSD is running on. This can be localhost OR remote!\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;gpshost=localhost:2947\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Do we lock the mode? This overrides coordinates of lock \u0026ldquo;0\u0026rdquo;, which will\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# generate some bad information until you get a GPS lock, but it will \u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# fix problems with GPS units with broken NMEA that report lock 0\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;gpsmodelock=false\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Packet filtering options:\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# filter_tracker - Packets filtered from the tracker are not processed or\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# recorded in any way.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# filter_dump - Packets filtered at the dump level are tracked, displayed,\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# and written to the csv/xml/network/etc files, but not \u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# recorded in the packet dump\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# filter_export - Controls what packets influence the exported CSV, network,\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# xml, gps, etc files.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# All filtering options take arguments containing the type of address and\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# addresses to be filtered. Valid address types are \u0026lsquo;ANY\u0026rsquo;, \u0026lsquo;BSSID\u0026rsquo;,\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# \u0026lsquo;SOURCE\u0026rsquo;, and \u0026lsquo;DEST\u0026rsquo;. Filtering can be inverted by the use of \u0026lsquo;!\u0026rsquo; before\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# the address. For example,\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# filter_tracker=ANY(!00:00:DE:AD:BE:EF)\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# has the same effect as the previous mac_filter config file option.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# filter_tracker=\u0026hellip;\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# filter_dump=\u0026hellip;\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# filter_export=\u0026hellip;\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Alerts to be reported and the throttling rates.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# alert=name,throttle/unit,burst\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# The throttle/unit describes the number of alerts of this type that are\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# sent per time unit. Valid time units are second, minute, hour, and day.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Burst describes the number of alerts sent before throttling takes place.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# For example:\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# alert=FOO,10/min,5\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Would allow 5 alerts through before throttling is enabled, and will then\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# limit the number of alerts to 10 per minute.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# A throttle rate of 0 disables throttling of the alert.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# See the README for a list of alert types.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;alert=NETSTUMBLER,5/min,2\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;alert=WELLENREITER,5/min,2\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;alert=LUCENTTEST,5/min,2\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;alert=DEAUTHFLOOD,5/min,4\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;alert=BCASTDISCON,5/min,4\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;alert=CHANCHANGE,5/min,4\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;alert=AIRJACKSSID,5/min,2\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;alert=PROBENOJOIN,5/min,2\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;alert=DISASSOCTRAFFIC,5/min,2\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;alert=NULLPROBERESP,5/min,5\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;alert=BSSTIMESTAMP,5/min,5\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;alert=MSFBCOMSSID,10/min,1/sec\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;alert=LONGSSID,10/min,1/sec\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;alert=MSFDLINKRATE,10/min,1/sec\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;alert=MSFNETGEARBEACON,10/min,1/sec\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;alert=DISCONCODEINVALID,10/min,1/sec\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;alert=DEAUTHCODEINVALID,10/min,1/sec\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Known WEP keys to decrypt, bssid,hexkey. This is only for networks where\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# the keys are already known, and it may impact throughput on slower hardware.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Multiple wepkey lines may be used for multiple BSSIDs.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# wepkey=00:DE:AD:C0:DE:00,FEEDFACEDEADBEEF01020304050607080900\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Is transmission of the keys to the client allowed? This may be a security\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# risk for some. If you disable this, you will not be able to query keys from\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# a client.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;allowkeytransmit=true\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# How often (in seconds) do we write all our data files (0 to disable)\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;#writeinterval=300\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;writeinterval=60\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Where do we get our manufacturer fingerprints from? Assumed to be in the\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# default config directory if an absolute path is not given.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;ap_manuf=ap_manuf\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;client_manuf=client_manuf\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Use metric measurements in the output?\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;metric=false\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Do we write waypoints for gpsdrive to load? Note: This is NOT related to\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# recent versions of GPSDrive\u0026rsquo;s native support of Kismet.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;waypoints=false\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# GPSMap waypoint file. This WILL be truncated.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;waypointdata=%h/.gpsdrive/way_kismet.txt\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# How many alerts do we backlog for new clients? Only change this if you have\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# a -very- low memory system and need those extra bytes, or if you have a high\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# memory system and a huge number of alert conditions.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;alertbacklog=50\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# File types to log, comma seperated\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# dump - raw packet dump\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# network - plaintext detected networks\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# csv - plaintext detected networks in CSV format\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# xml - XML formatted network and cisco log\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# weak - weak packets (in airsnort format)\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# cisco - cisco equipment CDP broadcasts\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# gps - gps coordinates\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;#logtypes=dump,network,csv,xml,weak,cisco,gps\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;logtypes=csv,gps\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Do we track probe responses and merge probe networks into their owners?\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# This isn\u0026rsquo;t always desireable, depending on the type of monitoring you\u0026rsquo;re\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# trying to do.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;trackprobenets=true\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Do we log \u0026ldquo;noise\u0026rdquo; packets that we can\u0026rsquo;t decipher? I tend to not, since \u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# they don\u0026rsquo;t have anything interesting at all in them.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;noiselog=false\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Do we log corrupt packets? Corrupt packets have enough header information\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# to see what they are, but someting is wrong with them that prevents us from\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# completely dissecting them. Logging these is usually not a bad idea.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;corruptlog=true\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Do we log beacon packets or do we filter them out of the dumpfile\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;beaconlog=true\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Do we log PHY layer packets or do we filter them out of the dumpfile\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;phylog=true\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Do we mangle packets if we can decrypt them or if they\u0026rsquo;re fuzzy-detected\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;mangledatalog=true\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Do we do \u0026ldquo;fuzzy\u0026rdquo; crypt detection? (byte-based detection instead of 802.11\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# frame headers)\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# valid option: Comma seperated list of card types to perform fuzzy detection \u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# on, or \u0026lsquo;all\u0026rsquo;\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;fuzzycrypt=wtapfile,wlanng,wlanng_legacy,wlanng_avs,hostap,wlanng_wext\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# What type of dump do we generate? \u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# valid option: \u0026ldquo;wiretap\u0026rdquo; \u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;dumptype=wiretap\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Do we limit the size of dump logs? Sometimes ethereal can\u0026rsquo;t handle big ones.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# 0 = No limit\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Anything else = Max number of packets to log to a single file before closing\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# and opening a new one.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;dumplimit=0\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Do we write data packets to a FIFO for an external data-IDS (such as Snort)?\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# See the docs before enabling this.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;#fifo=/tmp/kismet_dump\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Default log title\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;logdefault=Kismet\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# logtemplate - Filename logging template.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# This is, at first glance, really nasty and ugly, but you\u0026rsquo;ll hardly ever\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# have to touch it so don\u0026rsquo;t complain too much.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;#\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# %n is replaced by the logging instance name\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# %d is replaced by the current date as Mon-DD-YYYY\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# %D is replaced by the current date as YYYYMMDD\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# %t is replaced by the starting log time\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# %i is replaced by the increment log in the case of multiple logs\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# %l is replaced by the log type (dump, status, crypt, etc)\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# %h is replaced by the home directory\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# ie, \u0026ldquo;netlogs/%n-%d-%i.dump\u0026rdquo; called with a logging name of \u0026ldquo;Pok\u0026rdquo; could expand\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# to something like \u0026ldquo;netlogs/Pok-Dec-20-01-1.dump\u0026rdquo; for the first instance and \u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# \u0026ldquo;netlogs/Pok-Dec-20-01-2.%l\u0026rdquo; for the second logfile generated.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# %h/netlots/%n-%d-%i.dump could expand to\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# /home/foo/netlogs/Pok-Dec-20-01-2.dump\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;#\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Other possibilities: Sorting by directory\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# logtemplate=%l/%n-%d-%i\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Would expand to, for example,\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# dump/Pok-Dec-20-01-1\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# crypt/Pok-Dec-20-01-1\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# and so on. The \u0026ldquo;dump\u0026rdquo;, \u0026ldquo;crypt\u0026rdquo;, etc, dirs must exist before kismet is run\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# in this case.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;#logtemplate=%n-%d-%i.%l\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;logtemplate=/mnt/%n-%d-%i.%l\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Where do we store the pid file of the server?\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;piddir=/var/run/\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Where state info, etc, is stored. You shouldnt ever need to change this.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# This is a directory.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;configdir=%h/.kismet/\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# cloaked SSID file. You shouldn\u0026rsquo;t ever need to change this.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;ssidmap=ssid_map\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# Group map file. You shouldn\u0026rsquo;t ever need to change this.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;groupmap=group_map\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;# IP range map file. You shouldn\u0026rsquo;t ever need to change this.\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026ldquo;ipmap=ip_map\u0026rdquo; \u0026raquo; /etc/kismet/kismet.conf echo \u0026quot;\u0026quot; \u0026raquo; /etc/kismet/kismet.conf\necho \u0026ldquo;Creating /etc/kismet/ap_manuf\u0026hellip;\u0026rdquo; echo \u0026ldquo;00:00:0C:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026gt; /etc/kismet/ap_manuf echo \u0026ldquo;00:00:74:00:00:00/FF:FF:FF:00:00:00\tRicoh\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:00:92:00:00:00/FF:FF:FF:00:00:00\tCogent\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:00:AA:00:00:00/FF:FF:FF:00:00:00\tXerox\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:00:C5:00:00:00/FF:FF:FF:00:00:00\tFarallonCo\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:00:CE:00:00:00/FF:FF:FF:00:00:00\tMegadata\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:00:DE:00:00:00/FF:FF:FF:00:00:00\tUnigraph\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:01:03:00:00:00/FF:FF:FF:00:00:00\t3Com\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:01:24:00:00:00/FF:FF:FF:00:00:00\tSMC\tUnknown\tdefault\t6\t192.168.2.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:01:24:24:00:00/FF:FF:FF:FF:00:00\tSMC\tSMC7004AWBR\tdefault\t6\t192.168.2.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:01:38:00:00:00/FF:FF:FF:00:00:00\tXaviTechno\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:01:95:00:00:00/FF:FF:FF:00:00:00\tSena\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:01:E6:00:00:00/FF:FF:FF:00:00:00\tHewlett-Pa\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:01:F4:00:00:00/FF:FF:FF:00:00:00\tEnterasysN\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:02:2D:00:00:00/FF:FF:FF:00:00:00\tLucent\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:02:44:00:00:00/FF:FF:FF:00:00:00\tSurecom\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:02:6F:00:00:00/FF:FF:FF:00:00:00\tSenao\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:02:72:00:00:00/FF:FF:FF:00:00:00\tCc\u0026amp;C\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:02:8A:00:00:00/FF:FF:FF:00:00:00\tAmbitMicro\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:02:A5:00:00:00/FF:FF:FF:00:00:00\tCompaq\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:02:B3:00:00:00/FF:FF:FF:00:00:00\tIntel\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:03:0A:00:00:00/FF:FF:FF:00:00:00\tArgus\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:03:2F:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:03:52:00:00:00/FF:FF:FF:00:00:00\tColubris\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:03:93:00:00:00/FF:FF:FF:00:00:00\tAppleCompu\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:04:23:00:00:00/FF:FF:FF:00:00:00\tIntel\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:04:3A:3A:00:00/FF:FF:FF:FF:00:00\tAvaya\tad-01444\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:04:5A:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:04:5A:0E:00:00/FF:FF:FF:FF:00:00\tLinksys\tWAP11\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:04:5A:2E:00:00/FF:FF:FF:FF:00:00\tLinksys\tBEFW11S4\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:04:5A:5A:00:00/FF:FF:FF:FF:00:00\tLinksys\tBEFW11S4\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:04:75:00:00:00/FF:FF:FF:00:00:00\t3Com\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:04:75:75:00:00/FF:FF:FF:FF:00:00\t3Com\t3CRWE20096A AP2000 Version 1\t3Com\t0\t169.254.0.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:04:76:00:00:00/FF:FF:FF:00:00:00\t3Com\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:04:DB:00:00:00/FF:FF:FF:00:00:00\tTellusGrou\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:04:E2:00:00:00/FF:FF:FF:00:00:00\tSMC\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:04:E2:00:00:00/FF:FF:FF:00:00:00\tSMC\tUnknown\tSMC\t6\t192.168.2.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:04:E2:E2:00:00/FF:FF:FF:FF:00:00\tSMC\t7004AWBR\tdefault\t6\t192.168.2.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:05:3C:00:00:00/FF:FF:FF:00:00:00\tXircom\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:05:4E:00:00:00/FF:FF:FF:00:00:00\tPhilipsCom\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:05:5D:00:00:00/FF:FF:FF:00:00:00\tD-Link\tUnknown\tdefault\t6\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:05:5D:5D:00:00/FF:FF:FF:FF:00:00\tD-Link\tDWL-1000AP\tdefault\t6\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:05:87:00:00:00/FF:FF:FF:00:00:00\tLocus\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:06:25:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:06:25:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:06:25:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\tlinksys-g\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tBEFW11S4 v2\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tWET11\tlinksys\t6\t192.168.1.225\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:06:B1:00:00:00/FF:FF:FF:00:00:00\tSonicwall\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:07:0E:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:07:13:00:00:00/FF:FF:FF:00:00:00\tIpOne\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:07:40:00:00:00/FF:FF:FF:00:00:00\tMelco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:07:50:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:07:85:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:07:EB:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:08:21:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:08:A1:00:00:00/FF:FF:FF:00:00:00\tCnetTechno\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:09:43:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:09:5B:00:00:00/FF:FF:FF:00:00:00\tNetgear\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:09:5B:00:00:00/FF:FF:FF:00:00:00\tNetgear\tUnknown\tNETGEAR\t11\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:09:5B:00:00:00/FF:FF:FF:00:00:00\tNetgear\tUnknown\tWireless\t11 192.168.0.2\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:09:5B:00:00:00/FF:FF:FF:00:00:00\tNetgear\tUnknown\tNETGEAR\t11\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:09:7C:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:09:92:92:00:00/FF:FF:FF:FF:00:00\tSweex\tLC000010\twireless\t11\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:09:B7:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:09:E8:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0A:04:00:00:00/FF:FF:FF:00:00:00\t3comEurope\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0A:41:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0A:8A:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0A:8A:8A:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-AP1200\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0A:95:00:00:00/FF:FF:FF:00:00:00\tAppleCompu\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0A:B7:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0A:E9:00:00:00/FF:FF:FF:00:00:00\tAirvast\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0B:5F:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0B:6B:00:00:00/FF:FF:FF:00:00:00\tWistronNew\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0B:6C:00:00:00/FF:FF:FF:00:00:00\tSychip\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0B:7D:00:00:00/FF:FF:FF:00:00:00\tSolomonExt\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0B:85:00:00:00/FF:FF:FF:00:00:00\tAirespace\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0B:86:00:00:00/FF:FF:FF:00:00:00\tAruba\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0B:AC:00:00:00/FF:FF:FF:00:00:00\t3comEurope\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0B:BE:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0B:CD:00:00:00/FF:FF:FF:00:00:00\tCompaqHp\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0B:FD:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0C:30:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0C:41:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0C:85:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0C:CE:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0C:E5:00:00:00/FF:FF:FF:00:00:00\tMotorolaBc\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0C:F1:00:00:00/FF:FF:FF:00:00:00\tIntel\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0D:0B:00:00:00/FF:FF:FF:00:00:00\tMelco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0D:14:00:00:00/FF:FF:FF:00:00:00\tVtechInnov\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0D:28:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0D:29:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0D:3A:00:00:00/FF:FF:FF:00:00:00\tMicrosoft\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0D:54:00:00:00/FF:FF:FF:00:00:00\t3comEurope\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0D:65:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0D:72:00:00:00/FF:FF:FF:00:00:00\t2wire\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0D:88:00:00:00/FF:FF:FF:00:00:00\tD-Link\tUnknown\tdefault\t6\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0D:93:00:00:00/FF:FF:FF:00:00:00\tAppleCompu\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0D:97:00:00:00/FF:FF:FF:00:00:00\tTropos\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0D:9D:00:00:00/FF:FF:FF:00:00:00\tHewlettPac\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0D:BD:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0D:ED:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0E:35:00:00:00/FF:FF:FF:00:00:00\tIntel\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0E:38:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0E:3B:00:00:00/FF:FF:FF:00:00:00\tHawkingTec\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0E:58:00:00:00/FF:FF:FF:00:00:00\tRinconNetw\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0E:6A:00:00:00/FF:FF:FF:00:00:00\t3comEurope\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0E:7F:00:00:00/FF:FF:FF:00:00:00\tHewlettPac\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0E:83:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0E:84:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0E:9B:00:00:00/FF:FF:FF:00:00:00\tPrivate\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0E:A6:00:00:00/FF:FF:FF:00:00:00\tAsustekCom\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0E:D7:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0F:23:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0F:24:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0F:34:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0F:3D:00:00:00/FF:FF:FF:00:00:00\tD-Link\tUnknown\tdefault\t6\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0F:66:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0F:8F:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0F:90:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0F:B5:00:00:00/FF:FF:FF:00:00:00\tNetgear\tUnknown\tNETGEAR\t11\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0F:EA:00:00:00/FF:FF:FF:00:00:00\tGigaByte\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0F:F7:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:0F:F8:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:10:C6:00:00:00/FF:FF:FF:00:00:00\tUsi\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:10:E7:00:00:00/FF:FF:FF:00:00:00\tBreezecom\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:11:09:00:00:00/FF:FF:FF:00:00:00\tMicro-Star\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:11:0A:00:00:00/FF:FF:FF:00:00:00\tHewlettPac\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:11:20:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:11:21:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:11:24:00:00:00/FF:FF:FF:00:00:00\tAppleCompu\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:11:2F:00:00:00/FF:FF:FF:00:00:00\tAsustekCom\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:11:50:00:00:00/FF:FF:FF:00:00:00\tBelkin\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:17:3F:00:00:00/FF:FF:FF:00:00:00\tBelkin54g\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:11:5C:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:11:88:00:00:00/FF:FF:FF:00:00:00\tEnterasys\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:11:92:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:11:93:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:11:95:00:00:00/FF:FF:FF:00:00:00\tAlphaNetwo\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:11:BB:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:11:D8:00:00:00/FF:FF:FF:00:00:00\tAsustekCom\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:11:F5:00:00:00/FF:FF:FF:00:00:00\tAskey\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:12:00:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:12:01:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:12:17:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:12:25:00:00:00/FF:FF:FF:00:00:00\tMotorolaBc\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:12:43:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:12:7F:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:12:80:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:12:88:00:00:00/FF:FF:FF:00:00:00\t2wire\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:12:D9:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:12:DA:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:12:F0:00:00:00/FF:FF:FF:00:00:00\tIntelCorpo\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:13:10:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:13:19:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:13:1A:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:13:46:00:00:00/FF:FF:FF:00:00:00\tD-Link\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:13:60:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:13:7F:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:13:80:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:13:C4:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:20:00:00:00:00/FF:FF:FF:00:00:00\tLexmarkInt\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:20:A6:00:00:00/FF:FF:FF:00:00:00\tProxim\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:20:D8:00:00:00/FF:FF:FF:00:00:00\tNortel\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:20:E0:00:00:00/FF:FF:FF:00:00:00\tActiontec\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:30:1A:00:00:00/FF:FF:FF:00:00:00\tSmartbridge\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:30:65:00:00:00/FF:FF:FF:00:00:00\tApple\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:30:65:65:00:00/FF:FF:FF:FF:00:00\tApple\tSnow Base Station\t1\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:30:6E:00:00:00/FF:FF:FF:00:00:00\tHP\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:30:AB:00:00:00/FF:FF:FF:00:00:00\tNetgear\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:30:AB:AB:00:00/FF:FF:FF:FF:00:00\tNetgear\tMR314NA\tWireless\t1\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:18:4D:00:00:00/FF:FF:FF:00:00:00\tNetgear\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:30:BD:00:00:00/FF:FF:FF:00:00:00\tBelkin\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:30:BD:00:00:00/FF:FF:FF:00:00:00\tBelkin\tUnknown\tWLAN\t11\t0.0.0.0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:30:BD:00:00:00/FF:FF:FF:00:00:00\tBelkin\tUnknown\tbelkin54g\t11 0.0.0.0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:30:BD:BD:00:00/FF:FF:FF:FF:00:00\tBelkin\tF5D6230-3\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:30:F1:00:00:00/FF:FF:FF:00:00:00\tAcctonTech\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:40:01:00:00:00/FF:FF:FF:00:00:00\tZyxel\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:40:05:00:00:00/FF:FF:FF:00:00:00\tANI\tUnknown\tdefault\t6\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:40:05:05:00:00/FF:FF:FF:FF:00:00\tD-Link\tDI-614+\tdefault\t6\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:40:05:05:00:00/FF:FF:FF:FF:00:00\tD-Link\tDWL-900AP+\tdefault\t6\t192.168.0.50\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:40:26:00:00:00/FF:FF:FF:00:00:00\tBuffalo\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:40:26:26:00:00/FF:FF:FF:FF:00:00\tBuffalo\tWLAR-L11G-L\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:40:33:00:00:00/FF:FF:FF:00:00:00\tAddtron\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:40:36:00:00:00/FF:FF:FF:00:00:00\tTribeCompu\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:40:96:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\ttsunami\t6\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:40:96:96:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-AP342E2R\ttsunami\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:40:96:96:00:00/FF:FF:FF:FF:00:00\tCisco\tAP-350\ttsunami\t7\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:40:96:96:00:00/FF:FF:FF:FF:00:00\tCisco\tAironet 350\ttsunami\t6\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:50:08:00:00:00/FF:FF:FF:00:00:00\tCompaq\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:50:18:00:00:00/FF:FF:FF:00:00:00\tAmit\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:50:8B:8B:00:00/FF:FF:FF:FF:00:00\tCompaq\tWL400 - ETSI region\tcompaq\t11\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:50:DA:00:00:00/FF:FF:FF:00:00:00\t3Com\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:50:DA:DA:00:00/FF:FF:FF:FF:00:00\t3Com\t3CRWE747A\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:50:F2:00:00:00/FF:FF:FF:00:00:00\tMicrosoft\tUnknown\tMSHOME\t6\t192.168.2.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:50:F2:F2:00:00/FF:FF:FF:FF:00:00\tMicrosoft\tMN-500\tMSHOME\t6\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:50:FC:00:00:00/FF:FF:FF:00:00:00\tEdimax\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:60:01:00:00:00/FF:FF:FF:00:00:00\tLucent\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:60:1D:00:00:00/FF:FF:FF:00:00:00\tOrinoco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:60:1D:1D:00:00/FF:FF:FF:FF:00:00\tOrinoco\tRG1000\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:60:6D:00:00:00/FF:FF:FF:00:00:00\tCabletron\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:60:B3:00:00:00/FF:FF:FF:00:00:00\tProxim\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:80:37:37:00:00/FF:FF:FF:FF:00:00\tEricsson\tA11 (AP-4121-105M-ER-EU)\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:80:48:00:00:00/FF:FF:FF:00:00:00\tCompex\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:80:C6:00:00:00/FF:FF:FF:00:00:00\tSOHOware\tUnknown\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:80:C6:C6:00:00/FF:FF:FF:FF:00:00\tSOHOware\tNetBlaster II\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:80:C8:00:00:00/FF:FF:FF:00:00:00\tD-Link\tUnknown\tdefault\t6\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:90:0E:00:00:00/FF:FF:FF:00:00:00\tHandlink\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:90:4B:4B:00:00/FF:FF:FF:FF:00:00\tLinksys\tBEFW11S4\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:90:4B:00:00:00/FF:FF:FF:00:00:00\tMotorola\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:90:4C:00:00:00/FF:FF:FF:00:00:00\tNetgear\tUnknown\tNETGEAR\t11\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:90:96:00:00:00/FF:FF:FF:00:00:00\tAskey\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:90:D1:00:00:00/FF:FF:FF:00:00:00\tSMC\tUnknown\tWLAN\t11\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:90:D1:D1:00:00/FF:FF:FF:FF:00:00\tSMC\tSMC2652W\tWLAN\t11\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:90:D1:D1:00:00/FF:FF:FF:FF:00:00\tSMC\tSMC2682W\tBRIDGE\t11\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:A0:04:00:00:00/FF:FF:FF:00:00:00\t3Com\tUnknown\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:A0:04:04:00:00/FF:FF:FF:FF:00:00\t3Com\t3CRWE51196\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:A0:C5:00:00:00/FF:FF:FF:00:00:00\tZyxel\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:A0:F8:00:00:00/FF:FF:FF:00:00:00\tSymbol\tUnknown\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:B0:64:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:C0:02:00:00:00/FF:FF:FF:00:00:00\tSercomm\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:C0:49:00:00:00/FF:FF:FF:00:00:00\tUSRobotics\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:D0:59:00:00:00/FF:FF:FF:00:00:00\tAmbitMicro\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:E0:00:00:00:00/FF:FF:FF:00:00:00\tFujitsu\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:E0:29:00:00:00/FF:FF:FF:00:00:00\tOEM\tUnknown\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:E0:63:00:00:00/FF:FF:FF:00:00:00\tCabletron\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:E0:98:00:00:00/FF:FF:FF:00:00:00\tTrend\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:E0:B8:00:00:00/FF:FF:FF:00:00:00\tGateway2000\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;08:00:46:00:00:00/FF:FF:FF:00:00:00\tSony\tUnknown\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:14:BF:00:00:00/FF:FF:FF:00:00:00\tlinksys\tUnknown\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:14:6C:00:00:00/FF:FF:FF:00:00:00\tNetgear\tUnknown\tNETGEAR\t11\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:16:B6:00:00:00/FF:FF:FF:00:00:00\tlinksys\tUnknown\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:18:39:00:00:00/FF:FF:FF:00:00:00\tlinksys\tUnknown\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:18:F8:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;02:13:CE:00:00:00/FF:FF:FF:00:00:00\thpsetup\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:15:E9:00:00:00/FF:FF:FF:00:00:00 dlink Unknown 0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:14:51:00:00:00/FF:FF:FF:00:00:00\tAppleCompu\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:C0:A8:00:00:00/FF:FF:FF:00:00:00\tAMX\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/ap_manuf echo \u0026ldquo;00:16:CB:00:00:00/FF:FF:FF:00:00:00\tApple\tMacbook Pro\t0\t\u0026quot; \u0026raquo; /etc/kismet/ap_manuf\necho \u0026ldquo;Creating /etc/kismet/client_manuf\u0026hellip;\u0026rdquo; echo \u0026ldquo;00:00:22:22:00:00/FF:FF:FF:FF:00:00\tLucent\tOrinoco Silver\t0\t\u0026quot; \u0026gt; /etc/kismet/client_manuf echo \u0026ldquo;00:00:8F:8F:00:00/FF:FF:FF:FF:00:00\tBreezeCOM\tBreezenet Pro SA-PC\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:01:03:00:00:00/FF:FF:FF:00:00:00\t3Com\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:01:03:03:00:00/FF:FF:FF:FF:00:00\t3Com\t3CRWE62092A\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:01:03:03:00:00/FF:FF:FF:FF:00:00\t3Com\t3CRWE777A\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:01:24:00:00:00/FF:FF:FF:00:00:00\tSMC\tUnknown\tdefault\t6\t192.168.2.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:01:F4:F4:00:00/FF:FF:FF:FF:00:00\tEntrasys\tCSIBD-AB-S Roamabout\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:00:00:00/FF:FF:FF:00:00:00\tLucent\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tAgere\tOrinoco Gold\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tAgere\tPC24E-H-FC\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tAvaya\tPC24E-H-ET\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tAvaya\tPC24E-H-FC\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tAvaya\tWorld Card Silver\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tBuffalo\tWLI-PCM-L11\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tBuffalo\tWLI-PCM-L11\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tBuffalo\tWLI-PCM-L11GP\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tDell\tTrueMobile 1150\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tDell\tTrueMobile 1150 Mini-PCI\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tDell\tTruemobile 1150\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tDell\ttrue mobile 1150\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tLucent\tOrinoco Gold\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tLucent\tOrinoco Silver\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tLucent\tOrinoco Silver\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tLucent\tOrinoco Silver\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tLucent\tOrinoco Silver\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tLucent\tPC24E-H-FC\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tLucent\tPC24E-H-FC\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tLucent\tPC24E-H-FC\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tLucent\tWaveLAN Silver\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tLucent\tWaveLAN Silver (PC24E-H-FC)\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tLucent\tWaveLAN-Silver\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tLucent\tWaveLAN/IEEE Version 01.01\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tOrinoco\tMiniPCI Card (embedded in Sony Laptop)\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tOrinoco\tOrinoco Gold\twireless\t3\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tOrinoco\tOrinoco Gold\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tOrinoco\tOrinoco Mini PCI Card\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tOrinoco\tPC Card T2 Extended ORiNOCO Europe 128RC4 Kit Gold\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tOrinoco\tPC24E-H-ET\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tOrinoco\tPC24E-H-FC\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tOrinoco\tSilver\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tOrinoco\tSilver\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tOrinoco\tSilver\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:2D:00:00/FF:FF:FF:FF:00:00\tOrinoco\tSilver\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:6F:00:00:00/FF:FF:FF:00:00:00\tSenao\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:6F:6F:00:00/FF:FF:FF:FF:00:00\tSenao\tSL-2011 CD\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:6F:6F:00:00/FF:FF:FF:FF:00:00\tSenao\tSL-2011CD\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:6F:6F:00:00/FF:FF:FF:FF:00:00\tSenao\tSL-2011CD\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:6F:6F:00:00/FF:FF:FF:FF:00:00\tSenao\tSL-2511CD PLUS EXT2(F200)\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:A5:00:00:00/FF:FF:FF:00:00:00\tCompaq\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:A5:A5:00:00/FF:FF:FF:FF:00:00\tCompaq\tWL110\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:A5:A5:00:00/FF:FF:FF:FF:00:00\tCompaq\tWL110 REV.0A\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:B3:B3:00:00/FF:FF:FF:FF:00:00\tIntel\tWPC-2011BWW\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:03:2F:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:03:2F:2F:00:00/FF:FF:FF:FF:00:00\tLinksys\tWPC11\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:03:2F:2F:00:00/FF:FF:FF:FF:00:00\tLinksys\tWPC11\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:03:2F:2F:00:00/FF:FF:FF:FF:00:00\tRepotec\tGL241101\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:5A:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:5A:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\tLinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:5A:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:5A:5A:00:00/FF:FF:FF:FF:00:00\tLinksys\tBEFW11S4\tlinksys\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:5A:5A:00:00/FF:FF:FF:FF:00:00\tLinksys\tWPC11\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:5A:5A:00:00/FF:FF:FF:FF:00:00\tLinksys\tWPC11\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:5A:5A:00:00/FF:FF:FF:FF:00:00\tLinksys\tWPC11\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:5A:5A:00:00/FF:FF:FF:FF:00:00\tLinksys\tWUSB11\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:75:00:00:00/FF:FF:FF:00:00:00\t3Com\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:75:75:00:00/FF:FF:FF:FF:00:00\t3Com\t3CRSHPW696\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:75:75:00:00/FF:FF:FF:FF:00:00\t3Com\t3CRWE62092B\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:75:75:00:00/FF:FF:FF:FF:00:00\t3Com\t3CRWE62092B\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:DB:DB:00:00/FF:FF:FF:FF:00:00\tTellus\tTWL-C11\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:E2:00:00:00/FF:FF:FF:00:00:00\tSMC\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:E2:E2:00:00/FF:FF:FF:FF:00:00\tSMC\tSMC2632W\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:E2:E2:00:00/FF:FF:FF:FF:00:00\tSMC\tSMC2632W\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:E2:E2:00:00/FF:FF:FF:FF:00:00\tSMC\tSMC2632W\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:E2:E2:00:00/FF:FF:FF:FF:00:00\tSMC\tSMC2632W\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:E2:E2:00:00/FF:FF:FF:FF:00:00\tSMC\tSMC2632W\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:05:3C:3C:00:00/FF:FF:FF:FF:00:00\tIntel\tIntel MiniPCI High Rate Wireless (ISL3874A)\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:05:5D:00:00:00/FF:FF:FF:00:00:00\tD-Link\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:05:5D:00:00:00/FF:FF:FF:00:00:00\tD-Link\tUnknown\tdefault\t6\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:05:5D:5D:00:00/FF:FF:FF:FF:00:00\tCompaq\tHNW-100\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:05:5D:5D:00:00/FF:FF:FF:FF:00:00\tD-Link\tDCF-650W\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:05:5D:5D:00:00/FF:FF:FF:FF:00:00\tD-Link\tDWL-650\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:05:5D:5D:00:00/FF:FF:FF:FF:00:00\tD-Link\tDWL-650\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:05:5D:5D:00:00/FF:FF:FF:FF:00:00\tD-Link\tDWL-650\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:05:5D:5D:00:00/FF:FF:FF:FF:00:00\tD-Link\tDWL-650\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:05:5D:5D:00:00/FF:FF:FF:FF:00:00\tD-Link\tDWL-650\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:05:5D:5D:00:00/FF:FF:FF:FF:00:00\tD-Link\tDWL-650\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:05:5D:5D:00:00/FF:FF:FF:FF:00:00\tD-Link\tDWL-650\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:05:5D:5D:00:00/FF:FF:FF:FF:00:00\tD-Link\tDWL-650\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:05:5D:5D:00:00/FF:FF:FF:FF:00:00\tD-Link\tDWL-650H\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:05:5D:5D:00:00/FF:FF:FF:FF:00:00\tD-Link\tDWL-660 H/W:A1 F/W:4.04\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-PCM340\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tD-Link\tDCF-650W\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tDell\tTrue Mobile 1150\t6\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tBEFW11S4 v2\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tWCF11\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tWCF11\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tWCF12\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tWCF12\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tWCF12\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tWMP11\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tWMP11 v2.5\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tWPC11 V.3\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tWPC11 v2.5\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tWPC11 v2.5\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tWPC11 v3\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tWPC11 v3\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tWPC11 v3\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tWPC11 v3\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tWPC11 v3\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tWPC11 v3\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tWPC11 v3\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tWPC11 v3\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tWPC11 v3.0\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tWPC11 ver.3 (FCC-ID: PKW-WPC11-V31[suggests V3.1])\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:25:00:00/FF:FF:FF:FF:00:00\tLinksys\tWUSB11 v2.6\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:07:0E:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:07:0E:0E:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-LMC352\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:07:0E:0E:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-PCM352\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:07:50:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:07:50:50:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-LMC352\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:07:50:50:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-PCM350\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:08:21:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:08:21:21:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-LMC352\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:08:21:21:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-LMC352\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:08:21:21:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-PCM352\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:08:21:21:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-PCM352\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:43:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:43:43:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-LMC352\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:5B:00:00:00/FF:FF:FF:00:00:00\tNetgear\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:5B:5B:00:00/FF:FF:FF:FF:00:00\tNetgear\tMA401\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:5B:5B:00:00/FF:FF:FF:FF:00:00\tNetgear\tMA401RA\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:5B:5B:00:00/FF:FF:FF:FF:00:00\tNetgear\tMA401RA\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:5B:5B:00:00/FF:FF:FF:FF:00:00\tNetgear\tMA701\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:5B:5B:00:00/FF:FF:FF:FF:00:00\tNetgear\tMA701\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:5B:5B:00:00/FF:FF:FF:FF:00:00\tNetgear\tma101\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:5B:5B:00:00/FF:FF:FF:FF:00:00\tNetgear\twab501\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:7C:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:7C:7C:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-LMC352\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:7C:7C:00:00/FF:FF:FF:FF:00:00\tCisco\tCisco Aironet 352 802.11b pcmcia card\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:92:92:00:00/FF:FF:FF:FF:00:00\tSweex\tLC500010 ATMEL PCMCIA FastVNET (502A-D)\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:B7:B7:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-LMC352\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:B7:B7:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-LMC352\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:E8:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:E8:E8:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-LMC352\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0A:41:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0A:41:41:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-LMC352\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0A:41:41:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-PCM352\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0A:41:41:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-PCM352\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0A:41:41:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-PCM352\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0A:41:41:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-PCM352\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0A:8A:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0A:8A:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0A:8A:8A:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-PCM352\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0B:5F:5F:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-CB20A-A-K9\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:20:A6:A6:00:00/FF:FF:FF:FF:00:00\tProxim\tSymphony (PC Card 4430)\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:20:D6:D6:00:00/FF:FF:FF:FF:00:00\tBreezeCOM\tBreezenet Pro.11 SA-PCR\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:65:00:00:00/FF:FF:FF:00:00:00\tApple\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:65:00:00:00/FF:FF:FF:00:00:00\tApple\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:65:65:00:00/FF:FF:FF:FF:00:00\tApple\tAirport Card 2002\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:16:CB:00:00:00/FF:FF:FF:00:00:00\tApple\tMacbook Pro\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:AB:00:00:00/FF:FF:FF:00:00:00\tNetgear\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:AB:AB:00:00/FF:FF:FF:FF:00:00\tNetgear\tMA401\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:AB:AB:00:00/FF:FF:FF:FF:00:00\tNetgear\tMA401\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:AB:AB:00:00/FF:FF:FF:FF:00:00\tNetgear\tMA401\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:AB:AB:00:00/FF:FF:FF:FF:00:00\tNetgear\tMA401\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:AB:AB:00:00/FF:FF:FF:FF:00:00\tNetgear\tMA401\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:AB:AB:00:00/FF:FF:FF:FF:00:00\tNetgear\tMR314\tWireless\t1\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:AB:AB:00:00/FF:FF:FF:FF:00:00\tNetgear\tNetgear ma401\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:BD:00:00:00/FF:FF:FF:00:00:00\tBelkin\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:BD:00:00:00/FF:FF:FF:00:00:00\tBelkin\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:BD:BD:00:00/FF:FF:FF:FF:00:00\tBelkin\tF5D6020\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:BD:BD:00:00/FF:FF:FF:FF:00:00\tBelkin\tF5D6020\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:BD:BD:00:00/FF:FF:FF:FF:00:00\tBelkin\tF5D6020\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:BD:BD:00:00/FF:FF:FF:FF:00:00\tBelkin\tF5D6020\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:BD:BD:00:00/FF:FF:FF:FF:00:00\tBelkin\tF5D6020 (Version 01.02)\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:BD:BD:00:00/FF:FF:FF:FF:00:00\tBelkin\tF5D6020u\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:05:05:00:00/FF:FF:FF:FF:00:00\tD-Link\tDI-614+\tdefault\t6\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:05:05:00:00/FF:FF:FF:FF:00:00\tD-Link\tDI-614+ 22Mbps router/AP/switch\tdefault\t6\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:05:05:00:00/FF:FF:FF:FF:00:00\tD-Link\tDWL-520+\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:05:05:00:00/FF:FF:FF:FF:00:00\tD-Link\tDWL-650\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:05:05:00:00/FF:FF:FF:FF:00:00\tD-Link\tDWL-650\tinternet\t8\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:05:05:00:00/FF:FF:FF:FF:00:00\tD-Link\tDWL-650+\twireless\t6\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:26:00:00:00/FF:FF:FF:00:00:00\tBuffalo\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:96:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:96:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\ttsunami\t6\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:96:96:00:00/FF:FF:FF:FF:00:00\tCisco\t350\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:96:96:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-PC4800\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:96:96:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-PCM340\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:96:96:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-PCM340\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:96:96:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-PCM340\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:96:96:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-PCM340\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:96:96:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-PCM340\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:96:96:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-PCM340 (Dell Rebrand)\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:96:96:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-PCM352\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:96:96:00:00/FF:FF:FF:FF:00:00\tCisco\tAIR-PCM352\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:96:96:00:00/FF:FF:FF:FF:00:00\tCisco\tPC 4800 DS PCI Adapter\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:50:08:00:00:00/FF:FF:FF:00:00:00\tCompaq\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:50:08:08:00:00/FF:FF:FF:FF:00:00\tCompaq\tWL100\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:50:08:08:00:00/FF:FF:FF:FF:00:00\tCompaq\tWL100\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:50:8B:8B:00:00/FF:FF:FF:FF:00:00\tCompaq\tCompaq WL100\tcompaq\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:50:8B:8B:00:00/FF:FF:FF:FF:00:00\tCompaq\tWL200 - ETSI region\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:50:DA:00:00:00/FF:FF:FF:00:00:00\t3Com\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:50:DA:00:00:00/FF:FF:FF:00:00:00\t3Com\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:50:DA:DA:00:00/FF:FF:FF:FF:00:00\t3Com\t3CRWE73796B\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:50:F2:F2:00:00/FF:FF:FF:FF:00:00\tMicrosoft\tMN-510\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:50:F2:F2:00:00/FF:FF:FF:FF:00:00\tMicrosoft\tWireless Notebook Adapter MN-520\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:01:00:00:00/FF:FF:FF:00:00:00\tLucent\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:01:01:00:00/FF:FF:FF:FF:00:00\tLucent\tWaveLAN Silver\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:1D:00:00:00/FF:FF:FF:00:00:00\tLucent\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:1D:00:00:00/FF:FF:FF:00:00:00\tOrinoco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:1D:1D:00:00/FF:FF:FF:FF:00:00\tLucent\tLucent WaveLAN Turbo - Bronze, P/N: 011498/A\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:1D:1D:00:00/FF:FF:FF:FF:00:00\tLucent\tOrinoco Gold\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:1D:1D:00:00/FF:FF:FF:FF:00:00\tLucent\tPC24E-00-FC\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:1D:1D:00:00/FF:FF:FF:FF:00:00\tLucent\tSilver\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:1D:1D:00:00/FF:FF:FF:FF:00:00\tLucent\tWaveLAN Bronze\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:1D:1D:00:00/FF:FF:FF:FF:00:00\tLucent\tWaveLAN Gold\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:1D:1D:00:00/FF:FF:FF:FF:00:00\tLucent\tWavelan Turbo Bronze\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:6D:00:00:00/FF:FF:FF:00:00:00\tCabletron\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:6D:6D:00:00/FF:FF:FF:FF:00:00\tCabletron\tCSIBB-AA\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:6D:6D:00:00/FF:FF:FF:FF:00:00\tCabletron\tCSIBB-AA\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:6D:6D:00:00/FF:FF:FF:FF:00:00\tCabletron\tRoamAbout 802.11DS\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:B3:00:00:00/FF:FF:FF:00:00:00\tProxim\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:B3:6F:00:00/FF:FF:FF:FF:00:00\tWMATA\tWashingtonMetroAreaTA\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:B3:B3:00:00/FF:FF:FF:FF:00:00\t3Com\tXI-815\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:B3:B3:00:00/FF:FF:FF:FF:00:00\t3Com\tZcom WL2000D\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:B3:B3:00:00/FF:FF:FF:FF:00:00\tProxim\tRangeLAN DS\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:B3:B3:00:00/FF:FF:FF:FF:00:00\tProxim\tRangeLan DS 8430\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:B3:B3:00:00/FF:FF:FF:FF:00:00\tSMC\tSMC2642W\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:80:37:37:00:00/FF:FF:FF:FF:00:00\tEricsson\tC11 (LA-4121-102M-ER-EU)\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:80:C6:00:00:00/FF:FF:FF:00:00:00\tSOHOware\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:90:4B:4B:00:00/FF:FF:FF:FF:00:00\tDell\t1180 True Mobile PCI\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:90:96:96:00:00/FF:FF:FF:FF:00:00\tYakumo\tWLAN PCMCIA Card 11 Mbps\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:90:D1:00:00:00/FF:FF:FF:00:00:00\tLeArtery\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:90:D1:00:00:00/FF:FF:FF:00:00:00\tSMC\tUnknown\tWLAN\t11\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:90:D1:D1:00:00/FF:FF:FF:FF:00:00\tLeArtery\tSyncByAir LN101\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:90:D1:D1:00:00/FF:FF:FF:FF:00:00\tSMC\t2662W\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:90:D1:D1:00:00/FF:FF:FF:FF:00:00\tSMC\tSMC2632W\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:A0:04:00:00:00/FF:FF:FF:00:00:00\t3Com\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:A0:65:65:00:00/FF:FF:FF:FF:00:00\tNexland\tZcom XI-300\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:A0:F8:00:00:00/FF:FF:FF:00:00:00\tSymbol\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:A0:F8:F8:00:00/FF:FF:FF:FF:00:00\tSymbol\tSpectrum 24 High Rate 11MBps wireless LAN adapter\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:A0:F8:F8:00:00/FF:FF:FF:FF:00:00\tSymbol\tSpectrum24\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:C0:49:49:00:00/FF:FF:FF:FF:00:00\tUS Robotics\tUSR1120\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:E0:29:00:00:00/FF:FF:FF:00:00:00\tOEM\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:E0:29:29:00:00/FF:FF:FF:FF:00:00\tOEM\tOEM\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:E0:29:29:00:00/FF:FF:FF:FF:00:00\tSMC\t2632W\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:E0:29:29:00:00/FF:FF:FF:FF:00:00\tSMC\tEZ-Connect Wireless\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;08:00:46:00:00:00/FF:FF:FF:00:00:00\tSony\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;08:00:46:46:00:00/FF:FF:FF:FF:00:00\tSony\tPCWA-C100\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:00:0C:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:00:74:00:00:00/FF:FF:FF:00:00:00\tRicoh\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:00:92:00:00:00/FF:FF:FF:00:00:00\tCogent\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:00:AA:00:00:00/FF:FF:FF:00:00:00\tXerox\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:00:C5:00:00:00/FF:FF:FF:00:00:00\tFarallonCo\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:00:CE:00:00:00/FF:FF:FF:00:00:00\tMegadata\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:00:DE:00:00:00/FF:FF:FF:00:00:00\tUnigraph\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:01:03:00:00:00/FF:FF:FF:00:00:00\t3Com\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:01:24:00:00:00/FF:FF:FF:00:00:00\tSMC\tUnknown\tdefault\t6\t192.168.2.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:01:38:00:00:00/FF:FF:FF:00:00:00\tXaviTechno\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:01:95:00:00:00/FF:FF:FF:00:00:00\tSena\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:01:E6:00:00:00/FF:FF:FF:00:00:00\tHewlett-Pa\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:01:F4:00:00:00/FF:FF:FF:00:00:00\tEnterasysN\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:2D:00:00:00/FF:FF:FF:00:00:00\tLucent\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:44:00:00:00/FF:FF:FF:00:00:00\tSurecom\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:6F:00:00:00/FF:FF:FF:00:00:00\tSenao\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:72:00:00:00/FF:FF:FF:00:00:00\tCc\u0026amp;C\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:8A:00:00:00/FF:FF:FF:00:00:00\tAmbitMicro\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:A5:00:00:00/FF:FF:FF:00:00:00\tCompaq\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:02:B3:00:00:00/FF:FF:FF:00:00:00\tIntel\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:03:0A:00:00:00/FF:FF:FF:00:00:00\tArgus\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:03:2F:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:03:52:00:00:00/FF:FF:FF:00:00:00\tColubris\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:03:93:00:00:00/FF:FF:FF:00:00:00\tAppleCompu\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:23:00:00:00/FF:FF:FF:00:00:00\tIntel\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:5A:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:75:00:00:00/FF:FF:FF:00:00:00\t3Com\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:76:00:00:00/FF:FF:FF:00:00:00\t3Com\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:DB:00:00:00/FF:FF:FF:00:00:00\tTellusGrou\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:E2:00:00:00/FF:FF:FF:00:00:00\tSMC\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:04:E2:00:00:00/FF:FF:FF:00:00:00\tSMC\tUnknown\tSMC\t6\t192.168.2.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:05:3C:00:00:00/FF:FF:FF:00:00:00\tXircom\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:05:4E:00:00:00/FF:FF:FF:00:00:00\tPhilipsCom\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:05:5D:00:00:00/FF:FF:FF:00:00:00\tD-Link\tUnknown\tdefault\t6\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:05:87:00:00:00/FF:FF:FF:00:00:00\tLocus\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:25:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\tlinksys-g\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:06:B1:00:00:00/FF:FF:FF:00:00:00\tSonicwall\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:07:0E:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:07:13:00:00:00/FF:FF:FF:00:00:00\tIpOne\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:07:40:00:00:00/FF:FF:FF:00:00:00\tMelco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:07:50:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:07:85:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:07:EB:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:08:21:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:08:A1:00:00:00/FF:FF:FF:00:00:00\tCnetTechno\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:43:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:5B:00:00:00/FF:FF:FF:00:00:00\tNetgear\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:5B:00:00:00/FF:FF:FF:00:00:00\tNetgear\tUnknown\tNETGEAR\t11\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:5B:00:00:00/FF:FF:FF:00:00:00\tNetgear\tUnknown\tWireless\t11 192.168.0.2\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:5B:00:00:00/FF:FF:FF:00:00:00\tNetgear\tUnknown\tNETGEAR\t11\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:7C:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:B7:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:09:E8:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0A:04:00:00:00/FF:FF:FF:00:00:00\t3comEurope\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0A:41:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0A:8A:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0A:95:00:00:00/FF:FF:FF:00:00:00\tAppleCompu\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0A:B7:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0A:E9:00:00:00/FF:FF:FF:00:00:00\tAirvast\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0B:5F:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0B:6B:00:00:00/FF:FF:FF:00:00:00\tWistronNew\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0B:6C:00:00:00/FF:FF:FF:00:00:00\tSychip\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0B:7D:00:00:00/FF:FF:FF:00:00:00\tSolomonExt\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0B:85:00:00:00/FF:FF:FF:00:00:00\tAirespace\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0B:86:00:00:00/FF:FF:FF:00:00:00\tAruba\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0B:AC:00:00:00/FF:FF:FF:00:00:00\t3comEurope\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0B:BE:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0B:CD:00:00:00/FF:FF:FF:00:00:00\tCompaqHp\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0B:FD:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0C:30:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0C:41:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0C:85:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0C:CE:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0C:E5:00:00:00/FF:FF:FF:00:00:00\tMotorolaBc\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0C:F1:00:00:00/FF:FF:FF:00:00:00\tIntel\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0D:0B:00:00:00/FF:FF:FF:00:00:00\tMelco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0D:14:00:00:00/FF:FF:FF:00:00:00\tVtechInnov\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0D:28:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0D:29:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0D:3A:00:00:00/FF:FF:FF:00:00:00\tMicrosoft\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0D:54:00:00:00/FF:FF:FF:00:00:00\t3comEurope\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0D:65:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0D:72:00:00:00/FF:FF:FF:00:00:00\t2wire\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0D:88:00:00:00/FF:FF:FF:00:00:00\tD-Link\tUnknown\tdefault\t6\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0D:93:00:00:00/FF:FF:FF:00:00:00\tAppleCompu\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0D:97:00:00:00/FF:FF:FF:00:00:00\tTropos\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0D:9D:00:00:00/FF:FF:FF:00:00:00\tHewlettPac\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0D:BD:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0D:ED:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0E:35:00:00:00/FF:FF:FF:00:00:00\tIntel\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0E:38:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0E:3B:00:00:00/FF:FF:FF:00:00:00\tHawkingTec\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0E:58:00:00:00/FF:FF:FF:00:00:00\tRinconNetw\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0E:6A:00:00:00/FF:FF:FF:00:00:00\t3comEurope\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0E:7F:00:00:00/FF:FF:FF:00:00:00\tHewlettPac\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0E:83:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0E:84:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0E:9B:00:00:00/FF:FF:FF:00:00:00\tPrivate\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0E:A6:00:00:00/FF:FF:FF:00:00:00\tAsustekCom\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0E:D7:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0F:23:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0F:24:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0F:34:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0F:3D:00:00:00/FF:FF:FF:00:00:00\tD-Link\tUnknown\tdefault\t6\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0F:66:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0F:8F:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0F:90:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0F:B5:00:00:00/FF:FF:FF:00:00:00\tNetgear\tUnknown\tNETGEAR\t11\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0F:EA:00:00:00/FF:FF:FF:00:00:00\tGigaByte\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0F:F7:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:0F:F8:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:10:C6:00:00:00/FF:FF:FF:00:00:00\tUsi\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:10:E7:00:00:00/FF:FF:FF:00:00:00\tBreezecom\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:11:09:00:00:00/FF:FF:FF:00:00:00\tMicro-Star\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:11:0A:00:00:00/FF:FF:FF:00:00:00\tHewlettPac\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:11:20:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:11:21:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:11:24:00:00:00/FF:FF:FF:00:00:00\tAppleCompu\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:11:2F:00:00:00/FF:FF:FF:00:00:00\tAsustekCom\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:11:50:00:00:00/FF:FF:FF:00:00:00\tBelkin\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:11:5C:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:11:88:00:00:00/FF:FF:FF:00:00:00\tEnterasys\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:11:92:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:11:93:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:11:95:00:00:00/FF:FF:FF:00:00:00\tAlphaNetwo\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:11:BB:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:11:D8:00:00:00/FF:FF:FF:00:00:00\tAsustekCom\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:11:F5:00:00:00/FF:FF:FF:00:00:00\tAskey\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:12:00:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:12:01:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:12:17:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:12:25:00:00:00/FF:FF:FF:00:00:00\tMotorolaBc\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:12:43:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:12:7F:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:12:80:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:12:88:00:00:00/FF:FF:FF:00:00:00\t2wire\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:12:D9:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:12:DA:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:12:F0:00:00:00/FF:FF:FF:00:00:00\tIntelCorpo\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:13:10:00:00:00/FF:FF:FF:00:00:00\tLinksys\tUnknown\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:13:19:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:13:1A:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:13:46:00:00:00/FF:FF:FF:00:00:00\tD-Link\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:13:60:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:13:7F:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:13:80:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:13:C4:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:20:00:00:00:00/FF:FF:FF:00:00:00\tLexmarkInt\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:20:A6:00:00:00/FF:FF:FF:00:00:00\tProxim\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:20:D8:00:00:00/FF:FF:FF:00:00:00\tNortel\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:20:E0:00:00:00/FF:FF:FF:00:00:00\tActiontec\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:1A:00:00:00/FF:FF:FF:00:00:00\tSmartbridge\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:65:00:00:00/FF:FF:FF:00:00:00\tApple\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:6E:00:00:00/FF:FF:FF:00:00:00\tHP\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:AB:00:00:00/FF:FF:FF:00:00:00\tNetgear\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:BD:00:00:00/FF:FF:FF:00:00:00\tBelkin\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:BD:00:00:00/FF:FF:FF:00:00:00\tBelkin\tUnknown\tWLAN\t11\t0.0.0.0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:BD:00:00:00/FF:FF:FF:00:00:00\tBelkin\tUnknown\tbelkin54g\t11 0.0.0.0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:30:F1:00:00:00/FF:FF:FF:00:00:00\tAcctonTech\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:01:00:00:00/FF:FF:FF:00:00:00\tZyxel\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:05:00:00:00/FF:FF:FF:00:00:00\tANI\tUnknown\tdefault\t6\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:26:00:00:00/FF:FF:FF:00:00:00\tBuffalo\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:33:00:00:00/FF:FF:FF:00:00:00\tAddtron\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:36:00:00:00/FF:FF:FF:00:00:00\tTribeCompu\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:40:96:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\ttsunami\t6\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:50:08:00:00:00/FF:FF:FF:00:00:00\tCompaq\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:50:18:00:00:00/FF:FF:FF:00:00:00\tAmit\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:50:DA:00:00:00/FF:FF:FF:00:00:00\t3Com\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:50:F2:00:00:00/FF:FF:FF:00:00:00\tMicrosoft\tUnknown\tMSHOME\t6\t192.168.2.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:50:FC:00:00:00/FF:FF:FF:00:00:00\tEdimax\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:01:00:00:00/FF:FF:FF:00:00:00\tLucent\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:1D:00:00:00/FF:FF:FF:00:00:00\tOrinoco\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:6D:00:00:00/FF:FF:FF:00:00:00\tCabletron\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:60:B3:00:00:00/FF:FF:FF:00:00:00\tProxim\tUnknown\t0\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:80:48:00:00:00/FF:FF:FF:00:00:00\tCompex\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:80:C6:00:00:00/FF:FF:FF:00:00:00\tSOHOware\tUnknown\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:80:C8:00:00:00/FF:FF:FF:00:00:00\tD-Link\tUnknown\tdefault\t6\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:90:0E:00:00:00/FF:FF:FF:00:00:00\tHandlink\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:90:4C:00:00:00/FF:FF:FF:00:00:00\tNetgear/Epigram\tUnknown\tNETGEAR\t11\t192.168.0.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:90:96:00:00:00/FF:FF:FF:00:00:00\tAskey\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:90:D1:00:00:00/FF:FF:FF:00:00:00\tSMC\tUnknown\tWLAN\t11\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:A0:04:00:00:00/FF:FF:FF:00:00:00\t3Com\tUnknown\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:A0:C5:00:00:00/FF:FF:FF:00:00:00\tZyxel\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:A0:F8:00:00:00/FF:FF:FF:00:00:00\tSymbol\tUnknown\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:B0:64:00:00:00/FF:FF:FF:00:00:00\tCisco\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:C0:02:00:00:00/FF:FF:FF:00:00:00\tSercomm\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:C0:49:00:00:00/FF:FF:FF:00:00:00\tUSRobotics\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:D0:59:00:00:00/FF:FF:FF:00:00:00\tAmbitMicro\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:E0:00:00:00:00/FF:FF:FF:00:00:00\tFujitsu\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:E0:29:00:00:00/FF:FF:FF:00:00:00\tOEM\tUnknown\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:E0:63:00:00:00/FF:FF:FF:00:00:00\tCabletron\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:E0:98:00:00:00/FF:FF:FF:00:00:00\tTrend\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:E0:B8:00:00:00/FF:FF:FF:00:00:00\tGateway2000\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;08:00:46:00:00:00/FF:FF:FF:00:00:00\tSony\tUnknown\t\u0026quot; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:14:BF:00:00:00/FF:FF:FF:00:00:00\tlinksys\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:14:6C:00:00:00/FF:FF:FF:00:00:00\tNETGEAR\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:16:B6:00:00:00/FF:FF:FF:00:00:00\tlinksys\tUnknown\tlinksys\t6\t192.168.1.1\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;02:12:F0:00:00:00/FF:FF:FF:00:00:00\thpsetup\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;02:13:CE:00:00:00/FF:FF:FF:00:00:00\thpsetup\tUnknown\t0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:15:E9:00:00:00/FF:FF:FF:00:00:00 dlink Unknown 0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:17:9A:00:00:00/FF:FF:FF:00:00:00 dlink Unknown 0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf echo \u0026ldquo;00:13:F7:00:00:00/FF:FF:FF:00:00:00 SMC Unknown 0\u0026rdquo; \u0026raquo; /etc/kismet/client_manuf\nln -s /etc/init.d/prototype /etc/rc.d/K15prototype ln -s /etc/init.d/prototype /etc/rc.d/S94prototype\necho \u0026ldquo;pRoToTyPe installed! Lets rock!\u0026rdquo;\n#reload a) via Fon Flash:\nStart FonFlash Select your Network Interface Card Select Rootfs (openwrt-atheros-root.squashfs) Select Kernel (openwrt-atheros-vmlinux.lzma) Press Flash Router now and Power Up the Fonera. Takes approx. 20 Minutes b) via Serial Port and Tftp Server:\nExtract the two Firmware Files onto an reachable tftp Server Connect the Lan Port to your Network Connect to Serial (9600 baud, 8 Bit Data, 1 Stop Bit, No Software/Hardware Flow Control) Power Up the Fonera and Press CTRL+C (within 2 Seconds) You end up in RedBoot\u0026gt; Enter these Commands:\n// First IP is the Fonera IP/Subnet, Second is the TFTPServer\rip_address -l 192.168.1.254/24 -h 192.168.1.1\r// Complete Kill of the Fonera Software:\rfis init -f\r// Download the Firmware Header and Root (fis can take about 20 Minutes!)\rload -r -b %{FREEMEMLO} openwrt-atheros-vmlinux.lzma\rfis create -e 0×80041000 -r 0×80041000 vmlinux.bin.l7\r// Read Out Free Space\rfis free ( Output like 0xA80F0000 .. 0xA87E0000 )\r// Calculate on another Linux System the free Space with bc\rbc\robase=16\ribase=16\rA87E0000 – A80F0000\r6F0000 -\u0026gt; 0xlength\r// Download the Firmware Root\rload -r -b %{FREEMEMLO} openwrt-atheros-root.squashfs\r// Create Root on the next free Space that you calulcated (0xANDWHATYOUGOT)\rfis create -l 0×6F0000 rootfs\r// Configure Bootup, enter:\rfconfig\r// Enter Bootup Script, enter these two lines and press Enter a third time\rfis load -l vmlinux.bin.l7\rexec\r// The complete Config should look like that (nothing else changed as the Bootup Script!)\rRedBoot\u0026gt; fconfig\rRun script at boot: true\rBoot script:\r.. fis load -l vmlinux.bin.l7\r.. exec\rEnter script, terminate with empty line\r\u0026gt;\u0026gt; fis load -l vmlinux.bin.l7\r\u0026gt;\u0026gt; exec\r\u0026gt;\u0026gt;\rBoot script timeout (1000ms resolution): 1\rUse BOOTP for network configuration: false\rGateway IP address:\rLocal IP address: 192.168.1.254\rLocal IP address mask: 255.255.255.0\rDefault server IP address: 192.168.1.1\rConsole baud rate: 9600\rGDB connection port: 9000\rForce console for special debug messages: false\rNetwork debug at boot time: false\rUpdate RedBoot non-volatile configuration - continue (y/n)? y\r... Erase from 0xa87e0000-0xa87f0000: .\r... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .\rRedBoot\u0026gt;\r// Reboot, you’re done with flashing!\rreset Configure OpenWRT vi /etc/config/network config interface loopback\roption ifname lo\roption proto static\roption ipaddr 127.0.0.1\roption netmask 255.0.0.0\rconfig interface lan\roption ifname eth0\roption type bridge\roption proto dhcp Installing Software opkg update\ropkg install luci-app-mmc_over_gpio\ropkg install kmod-nls-base\ropkg install kmod-nls-cp437\ropkg install kmod-nls-iso8859-1\ropkg install kmod-fs-vfat\ropkg install kmod-mmc-over-gpio --force_reinstall\ropkg install luci-app-mmc_over_gpio --force_reinstall\ropkg install kismet-server\ropkg install gpsd\ropkg install netcat\ropkg install hotplug2\rreboot Configure Set password with passwd Connect with WinSCP to the Box Upload prototype_install to /tmp chmod +x /tmp/prototype_install\r./tmp/prototype_install\rreboot\r./etc/init.d/mmc_over_gpio start\r./etc/init.d/mmc_over_gpio stop\r./etc/init.d/mmc_over_gpio start\rmount /dev/mmcblk0p1 /mnt\rreboot Done\nII. Modding the LaFonera Router (Software) Manual:\nInstalling OpenWRT Download http://downloads.openwrt.org/kamikaze/8.09/atheros/openwrt-atheros-vmlinux.lzma Download http://downloads.openwrt.org/kamikaze/8.09/atheros/openwrt-atheros-root.squashfs Download Fon Flash http://www.gargoyle-router.com/download.php (and install wpcap Drivers as well, are included in Wireshark)\na) via Fon Flash:\nStart FonFlash Select your Network Interface Card Select Rootfs (openwrt-atheros-root.squashfs) Select Kernel (openwrt-atheros-vmlinux.lzma) Press Flash Router now and Power Up the Fonera. Takes approx. 20 Minutes b) via Serial Port and Tftp Server:\nExtract the two Firmware Files onto an reachable tftp Server Connect the Lan Port to your Network Connect to Serial (9600 baud, 8 Bit Data, 1 Stop Bit, No Software/Hardware Flow Control) Power Up the Fonera and Press CTRL+C (within 2 Seconds) You end up in RedBoot\u0026gt; Enter these Commands:\n// First IP is the Fonera IP/Subnet, Second is the TFTPServer\rip_address -l 192.168.1.254/24 -h 192.168.1.1\r// Complete Kill of the Fonera Software:\rfis init -f\r// Download the Firmware Header and Root (fis can take about 20 Minutes!)\rload -r -b %{FREEMEMLO} openwrt-atheros-vmlinux.lzma\rfis create -e 0x80041000 -r 0x80041000 vmlinux.bin.l7\r// Read Out Free Space\rfis free ( Output like 0xA80F0000 .. 0xA87E0000 )\r// Calculate on another Linux System the free Space with bc\rbc\robase=16\ribase=16\rA87E0000 - A80F0000\r6F0000 -\u0026gt; 0xlength\r// Download the Firmware Root\rload -r -b %{FREEMEMLO} openwrt-atheros-root.squashfs\r// Create Root on the next free Space that you calulcated (0xANDWHATYOUGOT)\rfis create -l 0x6F0000 rootfs\r// Configure Bootup, enter:\rfconfig\r// Enter Bootup Script, enter these two lines and press Enter a third time\rfis load -l vmlinux.bin.17\rexec\r// The complete Config should look like that (nothing else changed as the Bootup Script!)\rRedBoot\u0026gt; fconfig\rRun script at boot: true\rBoot script:\rEnter script, terminate with empty line\r\u0026gt;\u0026gt; fis load -l vmlinux.bin.l7\r\u0026gt;\u0026gt; exec\r\u0026gt;\u0026gt;\rBoot script timeout (1000ms resolution): 2\rUse BOOTP for network configuration: false\rGateway IP address:\rLocal IP address: 192.168.1.1\rLocal IP address mask: 255.255.255.0\rDefault server IP address: 192.168.1.254\rConsole baud rate: 9600\rGDB connection port: 9000\rForce console for special debug messages: false\rNetwork debug at boot time: false\rUpdate RedBoot non-volatile configuration – continue (y/n)? y\r… Erase from 0xa87e0000-0xa87f0000: .\r… Program from 0×80ff0000-0×81000000 at 0xa87e0000: .\rRedBoot\u0026gt;\r// Reboot, you’re done with flashing!\rreset Configure OpenWRT Change the Network Settings to whatever you want. I personally did use my Laptop with ICS as \u0026ldquo;Router\u0026rdquo; to Connect the LaFonera to my Work Network. The configuration of the file was within /etc/config/network:\nconfig interface loopback\roption ifname lo\roption proto static\roption ipaddr 127.0.0.1\roption netmask 255.0.0.0\rconfig interface lan\roption ifname eth0\roption type bridge\roption proto static\roption ipaddr 192.168.0.2\roption netmask 255.255.255.0\roption dns 192.168.0.1\roption gateway 192.168.0.1 Or use dhcp:\nconfig interface loopback\roption ifname lo\roption proto static\roption ipaddr 127.0.0.1\roption netmask 255.0.0.0\rconfig interface lan\roption ifname eth0\roption type bridge\roption proto dhcp Than I did also set the correct Timezone for the LaFonera. In my case that was GMT+1. You set it with:\necho GMT+1 \u0026gt; /etc/TZ OR COMPLETE /etc/TZ for Europe, Berlin:\necho CET-1CEST,M3.5.0,M10.5.0/3 \u0026gt; /etc/TZ Installing SD-Card Mod Basically it breaks down to the commands \u0026ldquo;opkg update\u0026rdquo; and \u0026ldquo;opkg install luci-app-mmc_over_gpio\u0026rdquo; but, there were many errors on my trial as it did install program parts in an wrong order and needed dependencys which weren\u0026rsquo;t installed at that point. So I do attach my install log to the end of this How to - maybe that will help you. After you installed it without errors, you need to configure the mmc drivers to the Fonera standards ( These steps were taken from http://www.dd-wrt.com/wiki/index.php/LaFonera_Hardware_SD-Card#OpenWRT_Kamikaze_8.09 )\nvi /etc/init.d/mmc_over_gpio\nedit:\nadd_device \u0026#34;default\u0026#34; 5 4 3 7 0 to:\nadd_device \u0026#34;default\u0026#34; 1 3 4 14 0\rsleep 1\rremove_device \u0026#34;default\u0026#34;\rsleep 1\radd_device \u0026#34;default\u0026#34; 1 3 4 7 0 then start with\n/etc/init.d/mmc_over_gpio start you should see:\nconfigfs on /config type configfs (rw)\rgpio-mmc: Failed to request mmc_spi module.\rmmc_spi spi32761.0: SD/MMC host mmc0, no DMA, no WP, no poweroff\rgpio-mmc: MMC-Card \u0026#34;default\u0026#34; attached to GPIO pins di=1, do=3, clk=4, cs=7\rmmc_spi spi32761.0: can\u0026#39;t change chip-select polarity\rroot@OpenWrt:~# mmc0: new SD card on SPI\rmmcblk0: mmc0:0000 SD01G 1006080KiB\rmmcblk0: p1 then create an dir where you want to mount the sd-card:\nmkdir /mnt/mmc and mount the sd-card:\nmount /dev/mmcblk0p1 /mnt/mmc you should also change the /etc/config/fstab according to your setup:\nconfig \u0026#39;mount\u0026#39;\roption \u0026#39;enabled\u0026#39; \u0026#39;1\u0026#39;\roption \u0026#39;device\u0026#39; \u0026#39;/dev/mmcblk0p1\u0026#39;\roption \u0026#39;fstype\u0026#39; \u0026#39;vfat\u0026#39;\roption \u0026#39;target\u0026#39; \u0026#39;/mnt\u0026#39;\roption \u0026#39;options\u0026#39; \u0026#39;defaults\u0026#39;\rconfig \u0026#39;swap\u0026#39;\roption \u0026#39;device\u0026#39; \u0026#39;/dev/sda2\u0026#39; COMPLETE /etc/init.d/mmc_over_gpio at the end\nInstalling Kismet-Server Installing the Kismet-Server to make your Wardrive is easy. Just enter\nopkg update\ropkg install kismet-server To configure the Kismet-Server you need to make some basic changes. From the OpenWRT Forum this quote:\nI found the way to launch the ksimet server. The Fonera with Atheros AR2315 with Kamikaze 7.09 edit /etc/kismet/kismet.conf and configure source as\nsource=Madwifi_g,wifi0,wireless run kismet server as\nkismet_server -f /etc/kismet/kismet.conf COMPLETE /etc/kismet/kismet.conf at the end\nInstalling gpsd GPSD is the gps Daemon for Linux which does get the signals from the GPS Mouse and does send them to Kismet - or an remote Network Source. Netcat is an tool to use network sessions like telnet with pipes. In our case we do use netcat to connect to the gpsd and try to grab an valid time signal from it. An valid time signal has two meanings: a) We do use it to set the inside clock of the Fon to the current time, b) We know that we have an valid GPS Lock and can go on and fire up kismet.\nopkg update\ropkg install gpsd\ropkg install netcat Install Log at the End\nInstalling the pRoToTyPe Script create the prototype file in /etc/init.d and give it chmod +x: #!/bin/sh /etc/rc.common\r# Example script\r# Copyright (C) 2007 OpenWrt.org\rSTART=94\rSTOP=15\rstart() {\recho \u0026#34;Loading pRoToTyPe...\u0026#34;\r# mount sd card\recho \u0026#34;Load SD-Card Driver...\u0026#34;\r/etc/init.d/mmc_over_gpio stop\r/etc/init.d/mmc_over_gpio start\rsleep 1\recho \u0026#34;Mount SD-Card..\u0026#34;\rmount /dev/mmcblk0p1 /mnt\r# setup serial port\recho \u0026#34;Setup Serial Port...\u0026#34;\rstty -F /dev/ttyS0 raw speed 4800 -clocal cs8 -parenb -cstopb\r# setup gpsd\recho \u0026#34;Setup GPSD...\u0026#34;\rgpsd /dev/ttyS0 -n # with none wait\r#setup time via gps\ri=0;\rwhile (i=$(($i+1)) \u0026amp;\u0026amp; [ \u0026#34;$i\u0026#34; -lt 5 ]);\rdo\rsleep 5\r(echo d ; sleep 1; echo d; sleep 1; echo d) | (nc localhost 2947) \u0026gt; /tmp/gps_time \u0026amp;\rTEST=$!\rsleep 4\rkill -s SIGINT $TEST\rkillall nc\rdate=$`cat /tmp/gps_time | tail -n 1`\ryear=$(echo $date | sed \u0026#39;s/.*D=\\([0-9]*\\)-.*/\\1/\u0026#39;)\r[ \u0026#34;$year\u0026#34; -gt 2004 ] \u0026amp;\u0026amp; break\rdone;\recho \u0026#34;slept $i times while waiting gps lock..\u0026#34;\recho \u0026#34;Setting date $date\u0026#34;\rdate -s $(echo $date | sed \u0026#39;s/GPSD,D=\\([0-9]*\\)\\(.*\\):.*/\\2\\1/\u0026#39; | sed \u0026#39;s/[^0-9]//g\u0026#39;)\r# start kismet\recho \u0026#34;Start Kismet...\u0026#34;\r/usr/bin/kismet_server -f /etc/kismet/kismet.conf \u0026amp;\r# thats it, we rock!\recho \u0026#34;Prototype up and running!\u0026#34;\r}\rstop() {\recho \u0026#34;Unloading pRoToTyPe...\u0026#34;\r# command to kill application\recho \u0026#34;Kill Kismet...\u0026#34;\rkillall kismet_server\recho \u0026#34;Kill GPSD...\u0026#34;\rkillall gpsd\recho \u0026#34;Reset Serial Port...\u0026#34;\rstty -F /dev/ttyS0 raw speed 9600 -clocal cs8 -parenb -cstopb\recho \u0026#34;UmountSD-Card...\u0026#34;\rumount /mnt\rsleep 5\recho \u0026#34;Unload SD-Card Driver...\u0026#34;\r/etc/init.d/mmc_over_gpio stop\r} Then you should symlink this file so that it get executed at lunch and shutdown;\nln -s /etc/init.d/prototype /etc/rc.d/K15prototype\rln -s /etc/init.d/prototype /etc/rc.d/S94prototype Installing Rescue System If something with the Ethernet Console goes wrong and you need to access the pRoToTyPe via Serial Port, you\u0026rsquo;re in trouble: On normal boot, the pRoToTyPe System does change the console settings and does use it for gpsd. With this Rescue System, you\u0026rsquo;re in the boat again: Just press and release the Reset Button for one second, the Rescue System will kick in, overwrite the inittab with console Settings, Reset the Serial Port to 9600, Remove pRoToTyPe Autostart and Plant an \u0026ldquo;Rebirth\u0026rdquo; System. Then it will reboot the box. After the boot, you can access it via Serial Port and work on it. The Rebirth System does automatically set back the Inittab and pRoToTyPe Autostart - so on the next boot, pRoToTyPe will automatically be in working order again! Great, ain\u0026rsquo;t it? And easy to realize!\nopkg install hotplug2\rvi /etc/hotplug.d/button/30-button-trigger\r#!/bin/sh\rif [ \u0026#34;${ACTION}\u0026#34; == \u0026#34;released\u0026#34; ]\rthen\r/etc/init.d/prototype_reset\rfi\rvi /etc/init.d/prototype_reset\r#!/bin/sh\recho \u0026#39;::sysinit:/etc/init.d/rcS S boot\u0026#39; \u0026gt; /etc/inittab\recho \u0026#39;::shutdown:/etc/init.d/rcS K stop\u0026#39; \u0026gt;\u0026gt; /etc/inittab\recho \u0026#39;tts/0::askfirst:/bin/ash --login\u0026#39; \u0026gt;\u0026gt; /etc/inittab\recho \u0026#39;ttyS0::askfirst:/bin/ash --login\u0026#39; \u0026gt;\u0026gt; /etc/inittab\recho \u0026#39;#tty1::askfirst:/bin/ash --login\u0026#39; \u0026gt;\u0026gt; /etc/inittab\rinit -q\rstty -F /dev/ttyS0 raw speed 9600 -clocal cs8 -parenb -cstopb\rrm /etc/rc.d/K15prototype\rrm /etc/rc.d/S94prototype\rln -s /etc/init.d/prototype_rebirth /etc/rc.d/S94prototype_rebirth\rreboot\rchmod +x /etc/init.d/prototype_reset\rvi /etc/init.d/prototype_rebirth\r#!/bin/sh /etc/rc.common\r# Example script\r# Copyright (C) 2007 OpenWrt.org\rSTART=94\rstart() {\rln -s /etc/init.d/prototype /etc/rc.d/K15prototype\rln -s /etc/init.d/prototype /etc/rc.d/S94prototype\recho \u0026#39;::sysinit:/etc/init.d/rcS S boot\u0026#39; \u0026gt; /etc/inittab\recho \u0026#39;::shutdown:/etc/init.d/rcS K stop\u0026#39; \u0026gt;\u0026gt; /etc/inittab\recho \u0026#39;#tts/0::askfirst:/bin/ash --login\u0026#39; \u0026gt;\u0026gt; /etc/inittab\recho \u0026#39;#ttyS0::askfirst:/bin/ash --login\u0026#39; \u0026gt;\u0026gt; /etc/inittab\recho \u0026#39;#tty1::askfirst:/bin/ash --login\u0026#39; \u0026gt;\u0026gt; /etc/inittab\rrm /etc/rc.d/S94prototype_rebirth\r}\rchmod +x /etc/init.d/prototype_rebirth What does these files do?\n30-button-trigger: Setting Up the File to determine what it shall do upon an Button Press (1 sec) and Release. (Trigger prototype_reset)\nprototype_reset: Reset the Inittab to Console, Reset the Serial Port, Erase Autostart of pRoToType, Set Rebirth System (prototype_rebirth) and reboot\nprototype_rebirth: After the ResetReboot the Rebirth System does set the Autostart of the pRoToTyPe System again and removes the Rebirth System\nAttachment Quickinstall Log:\nBusyBox v1.11.2 (2009-01-05 06:34:55 CET) built-in shell (ash)\rEnter \u0026#39;help\u0026#39; for a list of built-in commands.\r_______ ________ __\r| |.-----.-----.-----.| | | |.----.| |_\r| - || _ | -__| || | | || _|| _|\r|_______|| __|_____|__|__||________||__| |____|\r|__| W I R E L E S S F R E E D O M\rKAMIKAZE (8.09, r14511) ----------------------------\r* 10 oz Vodka Shake well with ice and strain\r* 10 oz Triple sec mixture into 10 shot glasses.\r* 10 oz lime juice Salute!\r---------------------------------------------------\rroot@OpenWrt:/# opkg ifconfig\rbr-lan Link encap:Ethernet HWaddr\rinet addr:134.96.74.122 Bcast:134.96.74.127 Mask:255.255.255.240\rUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1\rRX packets:47 errors:0 dropped:0 overruns:0 frame:0\rTX packets:2 errors:0 dropped:0 overruns:0 carrier:0\rcollisions:0 txqueuelen:0\rRX bytes:3694 (3.6 KiB) TX bytes:812 (812.0 B)\reth0 Link encap:Ethernet HWaddr\rUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1\rRX packets:60 errors:0 dropped:0 overruns:0 frame:0\rTX packets:3 errors:0 dropped:0 overruns:0 carrier:0\rcollisions:0 txqueuelen:1000\rRX bytes:5288 (5.1 KiB) TX bytes:1855 (1.8 KiB)\rInterrupt:4 Base address:0x1000\rlo Link encap:Local Loopback\rinet addr:127.0.0.1 Mask:255.0.0.0\rUP LOOPBACK RUNNING MTU:16436 Metric:1\rRX packets:0 errors:0 dropped:0 overruns:0 frame:0\rTX packets:0 errors:0 dropped:0 overruns:0 carrier:0\rcollisions:0 txqueuelen:0\rRX bytes:0 (0.0 B) TX bytes:0 (0.0 B)\rroot@OpenWrt:/# opg kg update\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/Packages.gz\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rPackages.gz 0% | | 0 --:--:-- ETAPackages.gz 100% |*******************************| 143k --:--:-- ETA\rInflating http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/Packages.gz\rUpdated list of available packages in /var/opkg-lists/snapshots\rroot@OpenWrt:/# opkg install luci-app-mmc_over_gpio\rInstalling luci-app-mmc_over_gpio (0.8.6-1) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./luci-app-mmc_over_gpio_0.8.6-1_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rluci-app-mmc_over_gp 0% | | 0 --:--:-- ETAluci-app-mmc_over_gp 100% |*******************************| 2061 --:--:-- ETA\rInstalling kmod-mmc-over-gpio (2.6.26.5-atheros-2) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./kmod-mmc-over-gpio_2.6.26.5-atheros-2_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rkmod-mmc-over-gpio_2 0% | | 0 --:--:-- ETAkmod-mmc-over-gpio_2 100% |*******************************| 5565 --:--:-- ETA\rInstalling kmod-mmc-spi (2.6.26.5-atheros-1) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./kmod-mmc-spi_2.6.26.5-atheros-1_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rkmod-mmc-spi_2.6.26. 0% | | 0 --:--:-- ETAkmod-mmc-spi_2.6.26. 100% |*******************************| 7219 --:--:-- ETA\rInstalling kmod-mmc (2.6.26.5-atheros-1) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./kmod-mmc_2.6.26.5-atheros-1_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rkmod-mmc_2.6.26.5-at 0% | | 0 --:--:-- ETAkmod-mmc_2.6.26.5-at 100% |*******************************| 28898 --:--:-- ETA\rInstalling kmod-crc-itu-t (2.6.26.5-atheros-1) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./kmod-crc-itu-t_2.6.26.5-atheros-1_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rkmod-crc-itu-t_2.6.2 0% | | 0 --:--:-- ETAkmod-crc-itu-t_2.6.2 100% |*******************************| 2269 --:--:-- ETA\rInstalling kmod-crc7 (2.6.26.5-atheros-1) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./kmod-crc7_2.6.26.5-atheros-1_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rkmod-crc7_2.6.26.5-a 0% | | 0 --:--:-- ETAkmod-crc7_2.6.26.5-a 100% |*******************************| 1911 --:--:-- ETA\rInstalling kmod-spi-gpio (2.6.26.5-atheros-1) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./kmod-spi-gpio_2.6.26.5-atheros-1_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rkmod-spi-gpio_2.6.26 0% | | 0 --:--:-- ETAkmod-spi-gpio_2.6.26 100% |*******************************| 3945 --:--:-- ETA\rInstalling kmod-spi-bitbang (2.6.26.5-atheros-1) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./kmod-spi-bitbang_2.6.26.5-atheros-1_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rkmod-spi-bitbang_2.6 0% | | 0 --:--:-- ETAkmod-spi-bitbang_2.6 100% |*******************************| 3580 --:--:-- ETA\rConfiguring kmod-crc-itu-t\rConfiguring kmod-crc7\rConfiguring kmod-mmc\rConfiguring kmod-mmc-over-gpio\rspi_gpio: Unknown symbol spi_bitbang_stop\rspi_gpio: Unknown symbol spi_bitbang_start\rgpiommc: Unknown symbol spi_gpio_next_id\rConfiguring kmod-mmc-spi\rConfiguring kmod-spi-bitbang\rConfiguring kmod-spi-gpio\rConfiguring luci-app-mmc_over_gpio\rcfg24c30b\rroot@OpenWrt:/# opkg install kmod-nls-base\rInstalling kmod-nls-base (2.6.26.5-atheros-1) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./kmod-nls-base_2.6.26.5-atheros-1_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rkmod-nls-base_2.6.26 0% | | 0 --:--:-- ETAkmod-nls-base_2.6.26 100% |*******************************| 3724 --:--:-- ETA\rConfiguring kmod-nls-base\rroot@OpenWrt:/# opkg install kmod-nls-cp437\rInstalling kmod-nls-cp437 (2.6.26.5-atheros-1) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./kmod-nls-cp437_2.6.26.5-atheros-1_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rkmod-nls-cp437_2.6.2 0% | | 0 --:--:-- ETAkmod-nls-cp437_2.6.2 100% |*******************************| 2977 --:--:-- ETA\rConfiguring kmod-nls-cp437\rroot@OpenWrt:/# opkg install kmod-nls-iso8859-1\rInstalling kmod-nls-iso8859-1 (2.6.26.5-atheros-1) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./kmod-nls-iso8859-1_2.6.26.5-atheros-1_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rkmod-nls-iso8859-1_2 0% | | 0 --:--:-- ETAkmod-nls-iso8859-1_2 100% |*******************************| 2650 --:--:-- ETA\rConfiguring kmod-nls-iso8859-1\rroot@OpenWrt:/# opkg install kmod-fs-vfat\rInstalling kmod-fs-vfat (2.6.26.5-atheros-1) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./kmod-fs-vfat_2.6.26.5-atheros-1_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rkmod-fs-vfat_2.6.26. 0% | | 0 --:--:-- ETAkmod-fs-vfat_2.6.26. 100% |*******************************| 37664 --:--:-- ETA\rConfiguring kmod-fs-vfat\rroot@OpenWrt:/# opkg install kmod-mmc-over-gpio --force_reinstall\rReinstalling kmod-mmc-over-gpio (2.6.26.5-atheros-2) on root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./kmod-mmc-over-gpio_2.6.26.5-atheros-2_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rkmod-mmc-over-gpio_2 0% | | 0 --:--:-- ETAkmod-mmc-over-gpio_2 100% |*******************************| 5565 --:--:-- ETA\rConfiguring kmod-mmc-over-gpio\rroot@OpenWrt:/#\rroot@OpenWrt:/# opkg install luci-app-mmc_over_gpio -f -force_reinstall\rReinstalling luci-app-mmc_over_gpio (0.8.6-1) on root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./luci-app-mmc_over_gpio_0.8.6-1_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rluci-app-mmc_over_gp 0% | | 0 --:--:-- ETAluci-app-mmc_over_gp 100% |*******************************| 2061 --:--:-- ETA\rConfiguring luci-app-mmc_over_gpio\rcfg26c30b\r^Copkg: interrupted. writing out status database\rroot@OpenWrt:/# root@OpenWrt:/# opkg install luci-app-mmc_over_gpio --force_reinstall\rReinstalling luci-app-mmc_over_gpio (0.8.6-1) on root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./luci-app-mmc_over_gpio_0.8.6-1_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rluci-app-mmc_over_gp 0% | | 0 --:--:-- ETAluci-app-mmc_over_gp 100% |*******************************| 2061 --:--:-- ETA\rConfiguring luci-app-mmc_over_gpio\rcfg28c30b\rroot@OpenWrt:/#\rroot@OpenWrt:/# opkg install kismet-server\rInstalling kismet-server (2008-05-R1-1) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./kismet-server_2008-05-R1-1_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rkismet-server_2008-0 0% | | 0 --:--:-- ETAkismet-server_2008-0 100% |*******************************| 214k --:--:-- ETA\rInstalling uclibcxx (0.2.2-1) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./uclibcxx_0.2.2-1_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\ruclibcxx_0.2.2-1_mip 0% | | 0 --:--:-- ETAuclibcxx_0.2.2-1_mip 100% |*******************************| 60685 --:--:-- ETA\rInstalling libpcap (0.9.8-1) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./libpcap_0.9.8-1_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rlibpcap_0.9.8-1_mips 0% | | 0 --:--:-- ETAlibpcap_0.9.8-1_mips 100% |*******************************| 67504 --:--:-- ETA\rInstalling dbus (1.2.3-2) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./dbus_1.2.3-2_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rdbus_1.2.3-2_mips.ip 0% | | 0 --:--:-- ETAdbus_1.2.3-2_mips.ip 100% |*******************************| 220k --:--:-- ETA\rInstalling libexpat (1.95.8-1) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./libexpat_1.95.8-1_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rlibexpat_1.95.8-1_mi 0% | | 0 --:--:-- ETAlibexpat_1.95.8-1_mi 100% |*******************************| 50640 --:--:-- ETA\rConfiguring dbus\rConfiguring kismet-server\rConfiguring libexpat\rConfiguring libpcap\rConfiguring uclibcxx\rroot@OpenWrt:/# opkg install gpsd\rInstalling gpsd (2.37-3) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./gpsd_2.37-3_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rgpsd_2.37-3_mips.ipk 0% | | 0 --:--:-- ETAgpsd_2.37-3_mips.ipk 100% |*******************************| 39945 00:00:00 ETA\rInstalling libpthread (0.9.29-14) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./libpthread_0.9.29-14_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rlibpthread_0.9.29-14 0% | | 0 --:--:-- ETAlibpthread_0.9.29-14 100% |*******************************| 19159 --:--:-- ETA\rInstalling libstdcpp (4.1.2-14) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./libstdcpp_4.1.2-14_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rlibstdcpp_4.1.2-14_m 0% | | 0 --:--:-- ETAlibstdcpp_4.1.2-14_m 100% |*******************************| 232k --:--:-- ETA\rConfiguring gpsd\rConfiguring libpthread\rConfiguring libstdcpp\rroot@OpenWrt:/# opkg install netcat\rInstalling netcat (0.7.1-1) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./netcat_0.7.1-1_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rnetcat_0.7.1-1_mips. 0% | | 0 --:--:-- ETAnetcat_0.7.1-1_mips. 100% |*******************************| 16579 --:--:-- ETA\rConfiguring netcat\rroot@OpenWrt:/# opkg install hotplug2\rPackage hotplug2 (0.9+r102-2) installed in root is up to date.\rroot@OpenWrt:/# cd /\rroot@OpenWrt:/# ls\rbin etc jffs mnt rom sbin tmp var\rdev home lib proc root sys usr www\rroot@OpenWrt:/# reboot reboot\rroot@OpenWrt:/# Restarting system.\rBusyBox v1.11.2 (2009-01-05 06:34:55 CET) built-in shell (ash)\rEnter \u0026#39;help\u0026#39; for a list of built-in commands.\r_______ ________ __\r| |.-----.-----.-----.| | | |.----.| |_\r| - || _ | -__| || | | || _|| _|\r|_______|| __|_____|__|__||________||__| |____|\r|__| W I R E L E S S F R E E D O M\rKAMIKAZE (8.09, r14511) ----------------------------\r* 10 oz Vodka Shake well with ice and strain\r* 10 oz Triple sec mixture into 10 shot glasses.\r* 10 oz lime juice Salute!\r---------------------------------------------------\rroot@OpenWrt:/#\rroot@OpenWrt:/# passwd\rChanging password for root\rNew password:\rBad password: too short\rRetype password:\rPassword for root changed by root\rroot@OpenWrt:/# ifconfig\rbr-lan Link encap:Ethernet HWaddr\rinet addr:134.96.74.122 Bcast:134.96.74.127 Mask:255.255.255.240\rUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1\rRX packets:43 errors:0 dropped:0 overruns:0 frame:0\rTX packets:2 errors:0 dropped:0 overruns:0 carrier:0\rcollisions:0 txqueuelen:0\rRX bytes:3552 (3.4 KiB) TX bytes:812 (812.0 B)\reth0 Link encap:Ethernet HWaddr\rUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1\rRX packets:53 errors:0 dropped:0 overruns:0 frame:0\rTX packets:3 errors:0 dropped:0 overruns:0 carrier:0\rcollisions:0 txqueuelen:1000\rRX bytes:4754 (4.6 KiB) TX bytes:1855 (1.8 KiB)\rInterrupt:4 Base address:0x1000\rlo Link encap:Local Loopback\rinet addr:127.0.0.1 Mask:255.0.0.0\rUP LOOPBACK RUNNING MTU:16436 Metric:1\rRX packets:0 errors:0 dropped:0 overruns:0 frame:0\rTX packets:0 errors:0 dropped:0 overruns:0 carrier:0\rcollisions:0 txqueuelen:0\rRX bytes:0 (0.0 B) TX bytes:0 (0.0 B)\rroot@OpenWrt:/# chmod +x /tmp/prototype_install\rroot@OpenWrt:/# ./tmp/prototype_install\rSetting Up /etc/inittab for pRoToTyPe...\rSetting Up TZ for Europe, Berlin...\rSetting Up Rescue System:\rCreating /etc/hotplug.d/button/30-button-trigger...\rmkdir: cannot create directory \u0026#39;/etc/hotplug.d/button\u0026#39;: File exists\rCreating /etc/init.d/prototype_reset...\rCreating /etc/init.d/prototype_rebirth...\rCreating /etc/config/network Config...\rCreating /etc/config/network.ics Config...\rCreating /etc/config/network.home Config...\rCreating /etc/config/system Config...\rCreating /etc/config/fstab...\rCreating /etc/init.d/mmc_over_gpio...\rCreating /etc/init.d/prototype...\rCreating /etc/kismet/kismet.conf...\rmkdir: cannot create directory \u0026#39;/etc/kismet\u0026#39;: File exists\rCreating /etc/kismet/ap_manuf...\rCreating /etc/kismet/client_manuf...\rpRoToTyPe installed! Lets rock!\rroot@OpenWrt:/# reboot\rroot@OpenWrt:/# Restarting system.\rroot@pRoToTyPe:/etc/init.d# ./mmc_over_gpio start\rconfigfs on /config type configfs (rw)\rmkdir: cannot create directory \u0026#39;/config/gpiommc/default\u0026#39;: File exists\rroot@pRoToTyPe:/etc/init.d# ./mmc_over_gpio stop\rroot@pRoToTyPe:/etc/init.d# ./mmc_over_gpio start\rconfigfs on /config type configfs (rw)\rroot@pRoToTyPe:/# mount /dev/mmcblk0p1 /mnt\rroot@pRoToTyPe:/# df -h\rFilesystem Size Used Available Use% Mounted on\rrootfs 1.5M 1.5M 0 100% /\r/dev/root 1.5M 1.5M 0 100% /rom\rtmpfs 6.7M 48.0k 6.6M 1% /tmp\rtmpfs 512.0k 0 512.0k 0% /dev\r/dev/mtdblock3 5.4M 1.7M 3.7M 31% /jffs\rmini_fo:/jffs 1.5M 1.5M 0 100% /\r/dev/mmcblk0p1 6.5M 0 6.5M 0% /mnt\rroot@pRoToTyPe:/#\rroot@pRoToTyPe:/# reboot Attachment Manual Install:\nInstall Log GPSD root@OpenWrt:/# opkg update\rDownloading http://downloads.openwrt.org/kamikaze/8.09.2-RC2/atheros/packages/Packages.gz\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rPackages.gz 100% |*******************************| 141k --:--:-- ETA\rInflating http://downloads.openwrt.org/kamikaze/8.09.2-RC2/atheros/packages/Packages.gz\rUpdated list of available packages in /var/opkg-lists/snapshots\rroot@OpenWrt:/# opkg list | fgrep gps\rgpsd - 2.37-3 - An interface daemon for GPS receivers\rroot@OpenWrt:/# opkg install gpsd\rInstalling gpsd (2.37-3) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09.2-RC2/atheros/packages/gpsd_2.37-3_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rgpsd_2.37-3_mips.ipk 100% |*******************************| 39956 --:--:-- ETA\rInstalling libpthread (0.9.29-14.6) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09.2-RC2/atheros/packages/libpthread_0.9.29-14.6_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rlibpthread_0.9.29-14 100% |*******************************| 19161 --:--:-- ETA\rInstalling libstdcpp (4.1.2-14.6) to root...\rDownloading http://downloads.openwrt.org/kamikaze/8.09.2-RC2/atheros/packages/libstdcpp_4.1.2-14.6_mips.ipk\rConnecting to downloads.openwrt.org (78.24.191.177:80)\rlibstdcpp_4.1.2-14.6 100% |*******************************| 232k --:--:-- ETA\rConfiguring gpsd\rConfiguring libpthread\rConfiguring libstdcpp\rroot@OpenWrt:/# /etc/init.d/mmc_over_gpio #!/bin/sh /etc/rc.common\r# Copyright (C) 2008 OpenWrt.org\rSTART=90\rCONFIGFS_DIR=\u0026#34;/config/gpiommc\u0026#34;\r# add_device(name, DI_pin, DO_pin, CLK_pin, CS_pin, mode)\radd_device() {\rlocal dir=\u0026#34;$CONFIGFS_DIR/$1\u0026#34;\rmkdir $dir\r[ $? -eq 0 ] || return 1\recho $2 \u0026gt; $dir/gpio_data_in\r[ $? -eq 0 ] || return 1\recho $3 \u0026gt; $dir/gpio_data_out\r[ $? -eq 0 ] || return 1\recho $4 \u0026gt; $dir/gpio_clock\r[ $? -eq 0 ] || return 1\recho $5 \u0026gt; $dir/gpio_chipselect\r[ $? -eq 0 ] || return 1\recho $6 \u0026gt; $dir/spi_mode\r[ $? -eq 0 ] || return 1\r# XXX We have more config options available. Use defaults for now.\recho 1 \u0026gt; $dir/register\r[ $? -eq 0 ] || return 1\rreturn 0\r}\r# remove_device(name)\rremove_device() {\rlocal dir=\u0026#34;$CONFIGFS_DIR/$1\u0026#34;\rrmdir $dir\r}\rmount_configfs() {\r# FIXME: This should probably be done somewhere else.\rmount | grep configfs\rif [ $? -eq 0 ]; then\r# already mounted\rreturn 0\rfi\rmkdir -p /config\r[ $? -eq 0 ] || return 1\rmount configfs -t configfs /config\r[ $? -eq 0 ] || return 1\rreturn 0\r}\rstart() {\r# Make sure configfs is mounted\rmount_configfs\r[ $? -eq 0 ] || return 1\r#FIXME we should use a config file, but I dunno how that parser works.\r#add_device \u0026#34;default\u0026#34; 5 4 3 7 0\radd_device \u0026#34;default\u0026#34; 1 3 4 14 0\rsleep 1\rremove_device \u0026#34;default\u0026#34;\rsleep 1\radd_device \u0026#34;default\u0026#34; 1 3 4 7 0\r}\rstop() {\rremove_device \u0026#34;default\u0026#34;\r} /etc/kismet/kismet.conf # Kismet config file\r# Most of the \u0026#34;static\u0026#34; configs have been moved to here -- the command line\r# config was getting way too crowded and cryptic. We want functionality,\r# not continually reading --help!\r# Version of Kismet config\rversion=2005.01.R1\r# Name of server (Purely for organiational purposes)\rservername=Kismet\r# User to setid to (should be your normal user)\r#suiduser=nobody\rsuiduser=root\r# Sources are defined as:\r# source=cardtype,interface,name[,initialchannel]\r# Card types and required drivers are listed in the README.\r# The initial channel is optional, if hopping is not enabled it can be used\r# to set the channel the interface listens on.\r# YOU MUST CHANGE THIS TO BE THE SOURCE YOU WANT TO USE\r#source=wrt54g,eth1,wireless\r# For v1 hardware uncomment this:\r# source=wrt54g,eth2,wireless\rsource=Madwifi_g,wifi0,wireless\r# Comma-separated list of sources to enable. This is only needed if you defined\r# multiple sources and only want to enable some of them. By default, all defined\r# sources are enabled.\r# For example:\r# enablesources=prismsource,ciscosource\r# Do we channelhop?\r#channelhop=true\rchannelhop=false\r# How many channels per second do we hop? (1-10)\rchannelvelocity=5\r# By setting the dwell time for channel hopping we override the channelvelocity\r# setting above and dwell on each channel for the given number of seconds.\r#channeldwell=10\r# Do we split channels between cards on the same spectrum? This means if\r# multiple 802.11b capture sources are defined, they will be offset to cover\r# the most possible spectrum at a given time. This also controls splitting\r# fine-tuned sourcechannels lines which cover multiple interfaces (see below)\rchannelsplit=true\r# Basic channel hopping control:\r# These define the channels the cards hop through for various frequency ranges\r# supported by Kismet. More finegrain control is available via the\r# \u0026#34;sourcechannels\u0026#34; configuration option.\r#\r# Don\u0026#39;t change the IEEE80211\u0026lt;x\u0026gt; identifiers or channel hopping won\u0026#39;t work.\r# Users outside the US might want to use this list:\r# defaultchannels=IEEE80211b:1,7,13,2,8,3,14,9,4,10,5,11,6,12\rdefaultchannels=IEEE80211b:1,6,11,2,7,3,8,4,9,5,10\r# 802.11g uses the same channels as 802.11b...\rdefaultchannels=IEEE80211g:1,6,11,2,7,3,8,4,9,5,10\r# 802.11a channels are non-overlapping so sequential is fine. You may want to\r# adjust the list depending on the channels your card actually supports.\r# defaultchannels=IEEE80211a:36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,136,140,149,153,157,161,184,188,192,196,200,204,208,212,216\rdefaultchannels=IEEE80211a:36,40,44,48,52,56,60,64\r# Combo cards like Atheros use both \u0026#39;a\u0026#39; and \u0026#39;b/g\u0026#39; channels. Of course, you\r# can also explicitly override a given source. You can use the script\r# extras/listchan.pl to extract all the channels your card supports.\rdefaultchannels=IEEE80211ab:1,6,11,2,7,3,8,4,9,5,10,36,40,44,48,52,56,60,64\r# Fine-tuning channel hopping control:\r# The sourcechannels option can be used to set the channel hopping for\r# specific interfaces, and to control what interfaces share a list of\r# channels for split hopping. This can also be used to easily lock\r# one card on a single channel while hopping with other cards.\r# Any card without a sourcechannel definition will use the standard hopping\r# list.\r# sourcechannels=sourcename[,sourcename]:ch1,ch2,ch3,...chN\r# ie, for us channels on the source \u0026#39;prism2source\u0026#39; (same as normal channel\r# hopping behavior):\r# sourcechannels=prism2source:1,6,11,2,7,3,8,4,9,5,10\r# Given two capture sources, \u0026#34;prism2a\u0026#34; and \u0026#34;prism2b\u0026#34;, we want prism2a to stay\r# on channel 6 and prism2b to hop normally. By not setting a sourcechannels\r# line for prism2b, it will use the standard hopping.\r# sourcechannels=prism2a:6\r# To assign the same custom hop channel to multiple sources, or to split the\r# same custom hop channel over two sources (if splitchannels is true), list\r# them all on the same sourcechannels line:\r# sourcechannels=prism2a,prism2b,prism2c:1,6,11\r# Port to serve GUI data\rtcpport=2501\r# People allowed to connect, comma seperated IP addresses or network/mask\r# blocks. Netmasks can be expressed as dotted quad (/255.255.255.0) or as\r# numbers (/24)\rallowedhosts=127.0.0.1,192.168.2.4,192.168.0.1\r# Maximum number of concurrent GUI\u0026#39;s\rmaxclients=5\r# Do we have a GPS?\r#gps=false\r## GPSd\rgps=true\r#gpstype=gpsd\r#gpshost=localhost:2947\r#gpsmodelock=false\r#gpsreconnect=true\r## GPS Manual\r#gps=true\r#gpstype=serial\r#gpsdevice=/dev/ttyS0\r#gpsreconnect=true\r# Host:port that GPSD is running on. This can be localhost OR remote!\rgpshost=localhost:2947\r# Do we lock the mode? This overrides coordinates of lock \u0026#34;0\u0026#34;, which will\r# generate some bad information until you get a GPS lock, but it will\r# fix problems with GPS units with broken NMEA that report lock 0\rgpsmodelock=false\r# Packet filtering options:\r# filter_tracker - Packets filtered from the tracker are not processed or\r# recorded in any way.\r# filter_dump - Packets filtered at the dump level are tracked, displayed,\r# and written to the csv/xml/network/etc files, but not\r# recorded in the packet dump\r# filter_export - Controls what packets influence the exported CSV, network,\r# xml, gps, etc files.\r# All filtering options take arguments containing the type of address and\r# addresses to be filtered. Valid address types are \u0026#39;ANY\u0026#39;, \u0026#39;BSSID\u0026#39;,\r# \u0026#39;SOURCE\u0026#39;, and \u0026#39;DEST\u0026#39;. Filtering can be inverted by the use of \u0026#39;!\u0026#39; before\r# the address. For example,\r# filter_tracker=ANY(!00:00:DE:AD:BE:EF)\r# has the same effect as the previous mac_filter config file option.\r# filter_tracker=...\r# filter_dump=...\r# filter_export=...\r# Alerts to be reported and the throttling rates.\r# alert=name,throttle/unit,burst\r# The throttle/unit describes the number of alerts of this type that are\r# sent per time unit. Valid time units are second, minute, hour, and day.\r# Burst describes the number of alerts sent before throttling takes place.\r# For example:\r# alert=FOO,10/min,5\r# Would allow 5 alerts through before throttling is enabled, and will then\r# limit the number of alerts to 10 per minute.\r# A throttle rate of 0 disables throttling of the alert.\r# See the README for a list of alert types.\ralert=NETSTUMBLER,5/min,2\ralert=WELLENREITER,5/min,2\ralert=LUCENTTEST,5/min,2\ralert=DEAUTHFLOOD,5/min,4\ralert=BCASTDISCON,5/min,4\ralert=CHANCHANGE,5/min,4\ralert=AIRJACKSSID,5/min,2\ralert=PROBENOJOIN,5/min,2\ralert=DISASSOCTRAFFIC,5/min,2\ralert=NULLPROBERESP,5/min,5\ralert=BSSTIMESTAMP,5/min,5\ralert=MSFBCOMSSID,10/min,1/sec\ralert=LONGSSID,10/min,1/sec\ralert=MSFDLINKRATE,10/min,1/sec\ralert=MSFNETGEARBEACON,10/min,1/sec\ralert=DISCONCODEINVALID,10/min,1/sec\ralert=DEAUTHCODEINVALID,10/min,1/sec\r# Known WEP keys to decrypt, bssid,hexkey. This is only for networks where\r# the keys are already known, and it may impact throughput on slower hardware.\r# Multiple wepkey lines may be used for multiple BSSIDs.\r# wepkey=00:DE:AD:C0:DE:00,FEEDFACEDEADBEEF01020304050607080900\r# Is transmission of the keys to the client allowed? This may be a security\r# risk for some. If you disable this, you will not be able to query keys from\r# a client.\rallowkeytransmit=true\r# How often (in seconds) do we write all our data files (0 to disable)\r#writeinterval=300\rwriteinterval=60\r# Where do we get our manufacturer fingerprints from? Assumed to be in the\r# default config directory if an absolute path is not given.\rap_manuf=ap_manuf\rclient_manuf=client_manuf\r# Use metric measurements in the output?\rmetric=false\r# Do we write waypoints for gpsdrive to load? Note: This is NOT related to\r# recent versions of GPSDrive\u0026#39;s native support of Kismet.\rwaypoints=false\r# GPSMap waypoint file. This WILL be truncated.\rwaypointdata=%h/.gpsdrive/way_kismet.txt\r# How many alerts do we backlog for new clients? Only change this if you have\r# a -very- low memory system and need those extra bytes, or if you have a high\r# memory system and a huge number of alert conditions.\ralertbacklog=50\r# File types to log, comma seperated\r# dump - raw packet dump\r# network - plaintext detected networks\r# csv - plaintext detected networks in CSV format\r# xml - XML formatted network and cisco log\r# weak - weak packets (in airsnort format)\r# cisco - cisco equipment CDP broadcasts\r# gps - gps coordinates\r#logtypes=dump,network,csv,xml,weak,cisco,gps\rlogtypes=csv,gps\r# Do we track probe responses and merge probe networks into their owners?\r# This isn\u0026#39;t always desireable, depending on the type of monitoring you\u0026#39;re\r# trying to do.\rtrackprobenets=true\r# Do we log \u0026#34;noise\u0026#34; packets that we can\u0026#39;t decipher? I tend to not, since\r# they don\u0026#39;t have anything interesting at all in them.\rnoiselog=false\r# Do we log corrupt packets? Corrupt packets have enough header information\r# to see what they are, but someting is wrong with them that prevents us from\r# completely dissecting them. Logging these is usually not a bad idea.\rcorruptlog=true\r# Do we log beacon packets or do we filter them out of the dumpfile\rbeaconlog=true\r# Do we log PHY layer packets or do we filter them out of the dumpfile\rphylog=true\r# Do we mangle packets if we can decrypt them or if they\u0026#39;re fuzzy-detected\rmangledatalog=true\r# Do we do \u0026#34;fuzzy\u0026#34; crypt detection? (byte-based detection instead of 802.11\r# frame headers)\r# valid option: Comma seperated list of card types to perform fuzzy detection\r# on, or \u0026#39;all\u0026#39;\rfuzzycrypt=wtapfile,wlanng,wlanng_legacy,wlanng_avs,hostap,wlanng_wext\r# What type of dump do we generate?\r# valid option: \u0026#34;wiretap\u0026#34;\rdumptype=wiretap\r# Do we limit the size of dump logs? Sometimes ethereal can\u0026#39;t handle big ones.\r# 0 = No limit\r# Anything else = Max number of packets to log to a single file before closing\r# and opening a new one.\rdumplimit=0\r# Do we write data packets to a FIFO for an external data-IDS (such as Snort)?\r# See the docs before enabling this.\r#fifo=/tmp/kismet_dump\r# Default log title\rlogdefault=Kismet\r# logtemplate - Filename logging template.\r# This is, at first glance, really nasty and ugly, but you\u0026#39;ll hardly ever\r# have to touch it so don\u0026#39;t complain too much.\r#\r# %n is replaced by the logging instance name\r# %d is replaced by the current date as Mon-DD-YYYY\r# %D is replaced by the current date as YYYYMMDD\r# %t is replaced by the starting log time\r# %i is replaced by the increment log in the case of multiple logs\r# %l is replaced by the log type (dump, status, crypt, etc)\r# %h is replaced by the home directory\r# ie, \u0026#34;netlogs/%n-%d-%i.dump\u0026#34; called with a logging name of \u0026#34;Pok\u0026#34; could expand\r# to something like \u0026#34;netlogs/Pok-Dec-20-01-1.dump\u0026#34; for the first instance and\r# \u0026#34;netlogs/Pok-Dec-20-01-2.%l\u0026#34; for the second logfile generated.\r# %h/netlots/%n-%d-%i.dump could expand to\r# /home/foo/netlogs/Pok-Dec-20-01-2.dump\r#\r# Other possibilities: Sorting by directory\r# logtemplate=%l/%n-%d-%i\r# Would expand to, for example,\r# dump/Pok-Dec-20-01-1\r# crypt/Pok-Dec-20-01-1\r# and so on. The \u0026#34;dump\u0026#34;, \u0026#34;crypt\u0026#34;, etc, dirs must exist before kismet is run\r# in this case.\r#logtemplate=%n-%d-%i.%l\rlogtemplate=/mnt/%n-%d-%i.%l\r# Where do we store the pid file of the server?\rpiddir=/var/run/\r# Where state info, etc, is stored. You shouldnt ever need to change this.\r# This is a directory.\rconfigdir=%h/.kismet/\r# cloaked SSID file. You shouldn\u0026#39;t ever need to change this.\rssidmap=ssid_map\r# Group map file. You shouldn\u0026#39;t ever need to change this.\rgroupmap=group_map\r# IP range map file. You shouldn\u0026#39;t ever need to change this.\ripmap=ip_map ","date":"2010-02-19T12:26:54Z","permalink":"/posts/2010-02-19-prototype-lafonera-openwrtkismetgpssd-mod/","title":"[pRoToTyPe] LaFonera OpenWRT/Kismet/GPS/SD-Mod"},{"content":"Iptables are the Firewall of many Unix based Systems. Its quite easy to install and more easy to manage than most ppl would think of. Lately I became the SysAdmin of an Linux based Root Server and wanted to secure it as much as possible. So I went for my first exercise with Iptables and found that they are quite to manage as long as you know some important things.\n1.) The Chains\nThe Iptables are in fact tables. There are three possible \u0026ldquo;Chains\u0026rdquo;: Input, Forward and Output.\n2.) Position Counts\nThe Position of an Rule in these tables is VITAL!\nI.e. normally you start with the Input Table and write in which Services are allowed to access your server. I.e. Apache (Webserver), SSH, etc. Then you set an big DROP. Everything after this Drop, even if it says Accept - does not count: The Packet gets dropped. Watch out for your chain and the position of the rules!\n3.) Established Sessions\nIf you server asks for an service or website, it maybe would call over Port 80. But the answer from the other server could come on an different port. The Iptables would then drop this answer as it does not know what to do with that. If you set in an Global Allow on Input for all Established or Related Connection (i.e. already running connections, things we sent out ourselves and such..) this will not happen and your stuff will run without problems. You NEED to do that.\nShow current Iptables and rules:\niptables -L Show current Iptables and rules with more details:\niptables -L -v Allow incoming traffic on Webport for Webserver:\niptables -A INPUT -p tcp --dport 80 -j ACCEPT This does say the iptables to Append this rule to the Input Table\nThe pRotocol is tcp. The dEstinationport is 80.\njUmp to Accept and let the Packet pass\nAllow incoming traffic for SSH:\niptables -A INPUT -p tcp --dport 22 -j ACCEPT Allow everything on the Loopback Interface:\niptables -A INPUT -i lo -j ACCEPT -i means the interface\nAllow Established Sessions (see 3.!)\niptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT if error:\niptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT Drop everything else:\niptables -A INPUT -j DROP After the last line, everything except the Apache and SSH Server will not be accessible anymore.\nTo insert an new Accept Rule before the drop, use\niptables -I INPUT 1 -p tcp --dport 21 -j ACCEPT INsert on place 1 the new Rule with TCP on Telnet Port and Accept everything connection.\nTo save iptables enter:\niptables-save \u0026gt; /etc/iptables.rules You write the iptables to the named file\nTo load the iptables enter:\niptables-restore \u0026lt; /etc/iptables.rules Delete all rules and therefor disable the firewall temporarily:\niptables -F Everything taken from: https://help.ubuntu.com/community/IptablesHowTo\nAppendix for Ubuntu:\nAutoloading and Saving Iptables?\nAutoloading: Create in /etc/network/if-pre-up.d an chmod+x file i.e. iptablesload:\n#!/bin/sh iptables-restore \u0026lt; /etc/iptables.rules ip6tables-restore \u0026lt; /etc/ip6tables.rules exit 0 Autosaving: Create in /etc/network/if-post-down.d an chmod+x file i.e. iptablessave:\n#!/bin/sh iptables-save -c \u0026gt; /etc/iptables.rules if [ -f /etc/iptables.downrules ]; then iptables-restore \u0026lt; /etc/iptables.downrules fi ip6tables-save -c \u0026gt; /etc/ip6tables.rules if [ -f /etc/ip6tables.downrules ]; then ip6tables-restore \u0026lt; /etc/ip6tables.downrules fi exit 0 ","date":"2010-02-17T13:36:01Z","permalink":"/posts/2010-02-17-iptables-basic-introduction/","title":"Iptables Basic Introduction"},{"content":"Pre Info:\nThis guide has been made with an Fon+ (2201), but should work with any other\nFonera Classic as well. Only limitation is that I have Problems with my\nJasager in Terms of SSIDs, there seems to be a Problem which hasn\u0026rsquo;t been\naddressed by Digininja, but the Rest should work.\n(Problem described here: http://hak5.org/forums/index.php?showtopic=13883 )\nThis guide should be quite useful and has been written by using guides and\nstuff from this Forum, I just wrote it together and added my own experiances.\nMaybe that will turn out as a good starting point and help some newbies.\nThis Guide ain\u0026rsquo;t perfect and if you think I could add some info - just write me,\nI would be happy to provide more accurate Information to make life for new Jasager Friends easier!\nGood Luck,\nYours, Nico\n0.) Get it started! - Get the Jasager 1.0 Firmware from Digininja http://www.digininja.org/jasager/download.php - Built an Serial Adapter Its not that hard and you should built one - so you can recover an dead Fonera. I.e. http://www.dd-wrt.com/wiki/index.php/LaFonera_Hardware_Serial-Cable-Port I built that myself (\u0026ldquo;the ugly one\u0026rdquo;) and it works. Just to add two things: i) You need to wire RS232 TX to the RX of the Serial (S2) and RS232 RX to the TX (S3) of the Serial Connector (and 5 is the Ground) ii) If you use an Fon+ (2201), the Serial Connector on the Phone is like that:\nethernet port\rc x VCC 3,3 V MEMORY\ra x TX s x RX CPU e x GND 1.) Flashing the Fon+ to Jasager a) With Serial Port only: - Extract the two Firmware Files onto your PC - Connect to Serial (9600 baud, 8 Bit Data, 1 Stop Bit, No Software/Hardware Flow Control) - Power Up the Fonera and Press CTRL+C (within 2 Seconds) You end up in RedBoot\u0026gt;\nEnter fconfig and press Enter until you come to the point Console Baud Rate. Change the 9600 to 115200. Press enter again till the end and accept the flash with y. Enter Reset and change the Serial Port settings to 115200 baud. Repower the Fonera and Press CTRL+C (within 2 Seconds) You end up in RedBoot\u0026gt;\nEnter these Commands:\n// Complete Kill of the Fonera Software:\rfis init -f\r// Download the Firmware Header and Root (fis can take about 20 Minutes!)\rload -r -b %{FREEMEMLO} openwrt-atheros-vmlinux.lzma -m xmodem\rfis create -e 0x80041000 -r 0x80041000 vmlinux.bin.17\rload -r -b %{FREEMEMLO} openwrt-atheros-root.squashfs -m xmodem\rfis create -l 0x6F0000 rootfs\r// Configure Bootup, enter: fconfig\r// Enter Bootup Script, enter these two lines and press Enter a third time\rfis load -l vmlinux.bin.17\rexec // The complete Config should look like that (nothing else changed as the Bootup Script!)\rRedBoot\u0026gt; fconfig\rRun script at boot: true\rBoot script: Enter script, terminate with empty line\r\u0026gt;\u0026gt; fis load -l vmlinux.bin.17\r\u0026gt;\u0026gt; exec\r\u0026gt;\u0026gt;\rBoot script timeout (1000ms resolution): 2 Use BOOTP for network configuration: false Gateway IP address: Local IP address: 192.168.1.1 Local IP address mask: 255.255.255.0 Default server IP address: 192.168.1.254 Console baud rate: 9600 GDB connection port: 9000 Force console for special debug messages: false Network debug at boot time: false Update RedBoot non-volatile configuration - continue (y/n)? y ... Erase from 0xa87e0000-0xa87f0000: . ... Program from 0x80ff0000-0x81000000 at 0xa87e0000: . RedBoot\u0026gt; // Reboot, you\u0026#39;re done with flashing! reset b) With Serial Port and Tftp Server:\nExtract the two Firmware Files onto an reachable tftp Server Connect the Wan Port to your Network Connect to Serial (9600 baud, 8 Bit Data, 1 Stop Bit, No Software/Hardware Flow Control) Power Up the Fonera and Press CTRL+C (within 2 Seconds) You end up in RedBoot\u0026gt; Enter these Commands: // First IP is the Fonera IP/Subnet, Second is the TFTPServer ip_address -l 192.168.2.99/24 -h 192.168.2.8 // Complete Kill of the Fonera Software: fis init -f // Download the Firmware Header and Root (fis can take about 20 Minutes!) load -r -b %{FREEMEMLO} openwrt-atheros-vmlinux.lzma fis create -e 0x80041000 -r 0x80041000 vmlinux.bin.17 load -r -b %{FREEMEMLO} openwrt-atheros-root.squashfs fis create -l 0x6F0000 rootfs // Configure Bootup, enter: fconfig // Enter Bootup Script, enter these two lines and press Enter a third time fis load -l vmlinux.bin.17 exec // The complete Config should look like that (nothing else changed as the Bootup Script!) RedBoot\u0026gt; fconfig Run script at boot: true Boot script: Enter script, terminate with empty line \u0026gt;\u0026gt; fis load -l vmlinux.bin.17 \u0026gt;\u0026gt; exec \u0026gt;\u0026gt; Boot script timeout (1000ms resolution): 2 Use BOOTP for network configuration: false Gateway IP address: Local IP address: 192.168.1.1 Local IP address mask: 255.255.255.0 Default server IP address: 192.168.1.254 Console baud rate: 9600 GDB connection port: 9000 Force console for special debug messages: false Network debug at boot time: false Update RedBoot non-volatile configuration - continue (y/n)? y ... Erase from 0xa87e0000-0xa87f0000: . ... Program from 0x80ff0000-0x81000000 at 0xa87e0000: . RedBoot\u0026gt; // Reboot, you\u0026#39;re done with flashing! reset c) Via Fon Flash:\nGet FonFlash (and install wpcap Drivers as well, are included in Wireshark) Start FonFlash - Select your Network Interface Card Select Rootfs (openwrt-atheros-root.squashfs) Select Kernel (openwrt-atheros-vmlinux.lzma) Press Flash Router now and Power Up the Fonera Takes approx. 20 Minutes 2.) Connect and Basic Settings\n// telnet to 192.168.1.1 and change the root passwd to enable SSH. telnet 192.168.1.1 passwd ilovepineapples ilovepineapples 3.) Fixing Webif You got two Webinterfaces on the Jasager. First the Karma/Jasager one at 192.168.1.1:1471, and Second the Webif/X-Wrt on 192.168.1.1. In Webif, you can change things like IP Adresses and watch a bunch of data. Easy configuration for your Fon+ if you\u0026rsquo;re not so used to the CLI in Linux. Now that you have changed the root password and therefor have access to ssh, you can use putty to connect to 192.168.1.1\na) Opkg\necho \u0026#34;src X-Wrt http://downloads.x-wrt.org/xwrt/kamikaze/8.09/atheros/packages\u0026#34; \u0026gt;\u0026gt; /etc/opkg.conf opkg update opkg remove -recursive luci-* opkg update opkg install webif reboot Manual\n// Remove Previous Install opkg -recursive remove haserl // Download and move these files to the tmp directory on the fon using winSCP haserl_0.9.24-1_mips.ipk\rwebif_0.3-4709_mips.ipk webif-theme-xwrt_0.3-4709_all.ipk // Install the files using putty. opkg install haserl_0.9.24-1_mips.ipk opkg install webif_0.3-4709_mips.ipk opkg install webif-theme-xwrt_0.3-4709_all.ipk 4.) Enable Wireless\nuci set wireless.wifi0.disabled=0 uci commit wireless \u0026amp;\u0026amp; wifi reboot 5.) Duplicate Ports (only on Fon+ 2201) http://www.frontiernet.net/~beakmyn/JasagerIntercept_Install.html\n6.) There is no Step 6. Have fun!\n(( http://hak5.org/forums/index.php?showtopic=14973 More Info on Jasager on http://www.digininja.org/jasager/ ))\n","date":"2010-02-17T12:58:56Z","permalink":"/posts/2010-02-17-jasager-fonfon-newbie-guide-to-installlation-of-jasager-1-0-firmware/","title":"[Jasager] Fon/Fon+ Newbie Guide to Installlation of Jasager 1.0 Firmware"},{"content":"Right at the moment I\u0026rsquo;m sitting in one of our wireclosets, watching an c3750 (hopefully) recovering its mind to its old function and behavior - through an XModem transfer of its current IOS. Because of an power failure on our campus the unit actually \u0026ldquo;bricked\u0026rdquo; - the flash system became corrupted and the unit did end up in the ROMMON Mode \u0026ldquo;switch:\u0026rdquo;.\nThats pretty bad - but not as bad as we couldn\u0026rsquo;t fix it.\nConnect to the console port with the usual settings of 9600 Baud, 8 Bit, No Control, 1 Parity.\nPower up the switch and hold the mode button until it comes to the ROMMON - and yeah, if you did delete the IOS or your switch is bricked like mine, it does come to this point by its own - no need to do that.\nBefore doing anything, check the file system with fsck flash: - if that gives error you should really format the flash - as it is corrupted and theres no need in flashing it a second time - because the new IOS will become bricked as well (I figured that out myself some minutes ago\u0026hellip;). So if you don\u0026rsquo;t have any important data like an non-saved config on that flash, erase it with format flash: and reboot the switch with reset. Test again with fsck, if there are still errors: Forget the switch, send it to Cisco. If not, we\u0026rsquo;re going on with our mission:\nset BAUD 115200\nAfter that you will see nice looking stuff. Set your console to 115200 BAUD as well. Its important to do that as the download of the IOS will take 2-4 hours otherwise. But don\u0026rsquo;t forget to set it back after everything is done with set BAUD 9600\nflash_init\ninit the flash\nload_helper\ndoes load the helper. sometimes useful.\ncopy xmodem: flash:IOSFILENAME\nThat will start the xmodem download. In Tera Term, klick File, Transfer, Xmodem, Sene and choose the IOS binary. Yes, important: Not an tar File, only the IOS bin.\nThe Download begins, that will take 20 Minutes or so\u0026hellip; Some sweet time, but as we know it could be really worse. So kick back, do something useful - like writing this tutorial ;-)\u0026hellip;\nIts done. Enter boot and it will boot. If not its bricked. Don\u0026rsquo;t forget to set back with set BAUD 9600\n","date":"2010-02-12T16:47:32Z","permalink":"/posts/2010-02-12-xmodem-flash-recovery-of-new-c3560-c3560e-c3750-c3750e-etc/","title":"XModem Flash Recovery of new c3560, c3560e, c3750, c3750e, etc..."},{"content":"Downgrading an LWAPP Cisco Access Point which was used with this Wirless Controll System can be very time consuming. Can. Doesn\u0026rsquo;t need to. Cisco did some nice stuff to make life easier: An auto \u0026ldquo;downgrade\u0026rdquo; function. To use this you need to get following:\nTftpd32 Server or similar tftp Server An autonomous IOS File for your Access Point (i.e. for the 1231 the file c1200-k9w7-tar.123-8.JEC.tar) Setup your tftpserver and give it an ip out of the range 10.0.0.2 - 10.0.0.30 with the Subnetmask 255.0.0.0 Copy the IOS File to the tftpserver root, mostly called tftpboot in Linux Rename the file from - for example c1200-k9w7-tar.123-8.JEC.tar to c1200-k9w7-tar.default Plug in the Ethernet Port on your Access Point (direct Connection from PC to AP needs an Crossover Cable!), connect the AP also to the serial console if you want. Press and hold the \u0026ldquo;Mode\u0026rdquo; Button on the AP and plug in power. Wait until the orange blinking middle led turns solid red (ca. 30 sec) and then release the \u0026ldquo;Mode\u0026rdquo; Button The AP will start downloading the firmware and reflash itself. DO NOT TURN IT OFF OR KILL THE CONNECTION! ","date":"2010-02-09T13:45:14Z","permalink":"/posts/2010-02-09-cisco-ap1231-autonomous-lwapp-to-auto-downgrade/","title":"Cisco AP1231 Autonomous LWAPP to Auto Downgrade"},{"content":" Download and burn the latest 1.0 Release as PC Live ISO (www.askozia.com,i.e. pbx-cdrom-1.0.3.iso, 30 MB) Insert and boot from in your target PC\n( You could now already use this as live running Askozia Version - but we\u0026rsquo;re going to install it onto the HDD ) Just choose option \u0026ldquo;Install to Harddrive\u0026rdquo;, choose the HDD you want to install onto and accept the questions, warning that your Data will be erased. Reboot and remove the CD from the drive. Choose Option 2 and set IP, Subnet (default 24), Gateway, DNS, choose wheter you want to go back to http or use ssl encrytpted https Go to your PC and enter http://ipoftheaskoziapbx or https://ipoftheaskoziapbx depending on your reacion to the last installation step. The default login data is admin, askozia Go to the General Setup, change Username, Password and other Settings you would like and save. Go to Voicemail, enter an E-Mail Account (username, pw, email, smtp server) you would like to use for the Voice Mail feature. Save the configuration and enter your own E-Mail Adress in \u0026ldquo;Test E-Mail\u0026rdquo; and press E-Mail Me - if that does work, you got Voicemail working. Go to Interfaces, change the Interface settings to your like and add ISDN or Analog Interface if you got such. Now your basic installation is done, go to reboot and restart your system. Create an Sip Account and connect Snom 360\nLogin to your Askozia again\nChoose Phones and click on \u0026ldquo;Add Sip\u0026rdquo;\nEnter the needed Information:\nExtension is your phone number\nCaller ID is the Name of the personal behind that number\nPassword is needed to secure the SIP Account\nVoicemail is the E-Mail Adress of the Person, so Askozia can send you a) missed call notifications, b) your Mailbox Entrys as wav\nYou need to activate for a) \u0026ldquo;send missed call notifications\u0026rdquo; as well\nChoose your Language\nAnd you may enter an Description and Advanced Settings if you want\nPress Save\nLogin to your Snom 360\nChoose Identity 1 (i.e.)\nEnter the needed Information:\nIdentity active: on\nDisplayname you can choose to your like - maybe Sip Askozia\nAccount is the Extension / Phone Number\nPassword is the Sip Password\nRegistrar is the IP of your Askozia PBX\nPress Save and Re-Register\nEnter your Password again on the Snom 360 and press the \u0026ldquo;Check Mark\u0026rdquo; button\nNow you\u0026rsquo;re done and can phone. Just enter the number of the other SIP Phone and press \u0026ldquo;Check Mark\u0026rdquo; to start calling.\nConferencing:\nUnder Services, Conferencing you got an Conference Room in the Askozia. On default calling number 2663 will get you there and you can conference with other Sip Users\nApplications:\nUnder Dialplan, Applications you can call 3 Applications. 00003246 - Echo Test, 00009253 - WakeMe (an Wake Up Call Manager), 000064554 (1000Hz Test Tone)\nCall Groups:\nUnder Dialplan, Call Groups you can set Call Groups (one Extension does ring multiple Phones)\nInterfaces:\nUnder Interfaces you can change Interface settings - i.e. configure an ISDN Interface like an AMV Fritz Card ISDN which is recognized in Askozia Stable 1.0.3\nProviders:\nUnder Accounts, Providers you may add an Sipgate Account i.e. to the PBX\nPhones:\nUnder Accounts, Phones you can change Phone settings and add Provider Accounts to the Phone\n","date":"2010-01-29T09:06:22Z","permalink":"/posts/2010-01-29-asterisk-part-2-installation-configuration-of-an-askozia-pbx-and-getting-it-working-with-snom-360/","title":"[Asterisk] Part 2: Installation, Configuration of an Askozia PBX and getting it working with Snom 360"},{"content":"Finally the time has come for our first VoIP or Voice over IP Project. The final goal of this project shall be to integrate an Software Asterisk VoIP System into an already existing PBX / ISDN Enviroment, allowing Users on Analog and ISDN Phones to recieve and send VoIP Calls by using the Asterisk Gateway - and vice versa. An good starting point is the most famous open source Voice PBX, called Asterisk. Asterisk is aviable in many flavors and colors: As commandline on little OpenWRT enabled Routers to an Highpowered Cluster Solution running ten thousands of phones at the same time - beeing managable via an nice looking Webinterface and Batch Files.\nAs an starting point, myself and Co Worker Sebastian picked out the three most popular releases and integrations of the Asterisk server:\nAsteriskNoW! ( http://www.asterisk.org/asterisknow/ )\nAsteriskNow is an development of dignium which does also develop Asterisk.\nUses CentOS.\ntrixbox ( http://www.trixbox.org/ )\nTrixbox is an PBX which has been build for business use and therefor has many options and special settings.\nUses CentOS.\nAskozia ( http://www.askozia.com/ )\nAskozia is using the same system the m0n0wall and FreeNAS Appliances are build upon and is therefor very small and very lightweight.\nUses FreeBSD / m0n0wall / FreeNAS System.\nAS for the test systems, we did decide to put all three Systems on real world servers, the first two ones because of their quite heavy weight resource needs onto 2 identical Tyan Tomcat Servers, powered by Pentium 4, 3 GhZ, 1 GB of Ram and an Sata Raid Controller, Mirroring the 160 GB Drive (Raid 1) to a second HDD. We got two 1 Gbit NICs and other stuff.\nThe test node for the Askozia is an Pentium 2 MMX, 500 MhZ, 64 MB Ram, 8 GB Hdd. 1 100 Mbit NIC and an AMV Fritz Card.\nAfter extensiv tests of the systems we came to choose two favorites:\nAskozia\nBecause of its very lightweight, very simple configuration and low impact even on the tiny system\nDownside: Not many options, shell access only with additional packages, limited expert options\ntrixbox\nFor beeing very powerful and posessing many options.\nDownside: Hardware hungry, VERY much options\nHaving these said we did shut down the two big servers and concentrated on the low end HP Desktop running Askozia. For beeing able to connect to an ISDN PBX we needed support for the AMV Fritz Card. Luckily we found this support included in the stable 1.0.3 release. The current 2.0.0 beta does NOT run with AVM and does not even recognize the Card. I wrote an report on the Forum and the admin did quickly reply to this, I\u0026rsquo;m waiting for an fix of the problem and therefor continued the work with the 1.0.3. Actually including Voicemail, two Sipphones, Conference Room and such is so easy that anyone can do it within less than 5 Minutes. But first things first - in the Installation How To.\n","date":"2010-01-29T08:31:36Z","permalink":"/posts/2010-01-29-asterisk-part-1-basics-and-choosing-the-right-os/","title":"[Asterisk] Part 1: Basics and Choosing the right OS"},{"content":"WARNING, this is ONLY for Users on an Snom 360 with Firmware Revision 6.X.\nIf you got an different Revision the steps could be different.\nCheck out the Snom Wiki in that case ( http://wiki.snom.com/Firmware ).\nBasically we just do reflash the Firmware with the same Revision again to erase data and passwords and unlock the Phone.\nThan we do an automatic update to the latest release.\nDownload the latest Snom 360 Firmware from the Snom Website for your Revision ( http://wiki.snom.com/Firmware/V6/Latest_Release ) Download tftpd32 or an similar tftp Server Rename the Firmware to snom360.bin and upload it to the root Directory of the tftp Server Plug in the Network Port and Power to the Snom As the message \u0026ldquo;To Update by TFTP: Press Any Key\u0026rdquo; appears, press any key on the phone Enter valid IP Data for the Phone. Always press Next. I.e. the IP, the Subnet, the Gateway, DNS and the IP of your tfp Server. As you\u0026rsquo;re finished, it will ask for this again and again, press Check Mark right beside the big X Button. The tfp Download will start. Don\u0026rsquo;t unplug the phone during the Firmware Update. The Phone will automatically reboot after the flash is done. After this flash we have reset all data - including the passwords, so we now can press the Help Button on the phone and get the ip adress of the phone, connect to it by using an HTML Browser. But before you access the website, you need to enter the Administrative mode of the phone, otherwise you won\u0026rsquo;t be able to set any setting or update the phone. So press the Settings Button and press \u0026ldquo;Administrative Mode\u0026rdquo; - password is 0000 on default. Press Check Mark to accept. Now access the Website. To update to version 7 Firmware (the latest Firmware, experimental) you need to go to the Advanced Tab, scroll down to Update. Set the Update Policy to \u0026ldquo;Update automatically\u0026rdquo; and the Setting URL to \u0026ldquo;http://provisioning.snom.com/update6to7/update_once.php\". Press Save and Reboot, Accept with Yes. The Phone will Reboot. After the reboot, the phone will access the internet and check automatically for an update, download it and start flashing. It will reboot serval times, don\u0026rsquo;t power it off until its done. It should take something like 10 Minutes or more, depending on your Internet connection. If it doesn\u0026rsquo;t reboot anymore and does show the normal menu for longer than half an minute you can consider it ok. You can now create Identitys (Profiles) for your Sip / VoIP Accounts and reregister them via the Webinterface. ","date":"2010-01-29T08:24:39Z","permalink":"/posts/2010-01-29-snom-360-update-and-password-reset/","title":"Snom 360 Update and Password Reset"},{"content":" Deactivate Bluetooth in the Asus-Tray-Utility Open C:\\WINDOWS\\INF\\BTH.INF with the Editor. Look for: [Manufacturer] %Microsoft%=Microsoft ALPS=ALPS, NT.5.1 Belkin=Belkin, NT.5.1 Now add \u0026ldquo;Asus=ASUS, NT.5.1\u0026rdquo;. It should look like this: [Manufacturer] %Microsoft%=Microsoft ALPS=ALPS, NT.5.1 Asus=ASUS, NT.5.1 Belkin=Belkin, NT.5.1 Now look for \u0026ldquo;[Zeevo.NT.5.1]\u0026rdquo;. It should look like this: [Zeevo.NT.5.1] Zeevo Bluetooth Solution= BthUsb, USB\\Vid_0b7a\u0026amp;Pid_07d0\u0026amp;Rev_0126 Zeevo Bluetooth Solution= BthUsb, USB\\Vid_0b7a\u0026amp;Pid_07d0\u0026amp;Rev_0133 Beneath it, add following: [Asus.NT.5.1] Asus BT-253= BthUsb, USB\\VID_0B05\u0026amp;PID_B700 Result: [Zeevo.NT.5.1] Zeevo Bluetooth Solution= BthUsb, USB\\Vid_0b7a\u0026amp;Pid_07d0\u0026amp;Rev_0126 Zeevo Bluetooth Solution= BthUsb, USB\\Vid_0b7a\u0026amp;Pid_07d0\u0026amp;Rev_0133 [Asus.NT.5.1] Asus BT-253= BthUsb, USB\\VID_0B05\u0026amp;PID_B700 Save and leave the editor Now it depends wheter you did install the Widcomm Software or wheter you start with an fresh Win XP Installation With Widcomm-Software:\nActivate Bluetooth in the Asus-Tray-Utility, Bluetooth Symbol should be white Go to System, Software and remove Widcomm-Bluetooth-Software At the end, system want that you deactivate Bluetooth - do that via the Tray Utility Than, it wants to reboot - DON\u0026rsquo;T do that. Activate Bluetooth again in the Asus-Tray-Utility Windows should start installing its own Bluetooth Stack Reboot after that, you\u0026rsquo;re done Without Widcomm-Software:\nJust activate Activate Bluetooth in the Asus-Tray-Utility and it should start installing If not, go to the Hardware Manager and \u0026ldquo;search for changed Hardware\u0026rdquo; Internal Notes:\nC:\\WINDOWS\\INF\\BTH.INF rundll32.exe bthprops.cpl,,BluetoothAuthenticationAgent bthprops.cpl I found it btw in an german forum and did roughly translate it, because I found it very useful as I only use Bluetooth for s25@once with my Handy.\n","date":"2010-01-29T07:26:44Z","permalink":"/posts/2010-01-29-eee9011000-use-windows-xp-bluetooth-stack-on-asus-9011000/","title":"[EEE901/1000] Use Windows XP Bluetooth-Stack on Asus 901/1000"},{"content":"So, you logged out of Windows and need to get your password back? Thats for what this little collection is for.\nLets say you need to \u0026ldquo;crack\u0026rdquo; an Windows 2000 / XP Password. For i.e. login data. Then you should go for Ophcrack: http://ophcrack.sourceforge.net/\nIf you just want to login into Windows 2000 / XP / Linux etc. without using or cracking the password with admin rights, go for konboot: http://www.piotrbania.com/all/kon-boot/\nAnd should you stumble across the problem of having forgotten your network drive passwords and login but still have access to Windows and got these pw saved, use Nir Soft Network Password Recovery: http://www.nirsoft.net/utils/network_password_recovery.html\nBe advised ONLY to use these programs if they come from the orginal website as other websites do add keyloggers and other nice stuff to them. And only use these tools if you own the pc or have the rights to - check your local law!\n","date":"2010-01-25T09:37:03Z","permalink":"/posts/2010-01-25-windows-2000-xp-password-special/","title":"Windows 2000 / XP Password Special"},{"content":"Download and Install TurnKey LAMP (Vmware Appliance)\nhttp://www.turnkeylinux.org/redir.php?url=http%3A%2F%2Fswitch.dl.sourceforge.net%2Fproject%2Fturnkeylinux%2Fturnkey-lamp%2F2009.10-hardy-x86%2Fturnkey-lamp-2009.10-hardy-x86.zip\ngo to http://IP\ngo to Webmin (https://IP:12321)\nchange root pw change root pw in mysql create mysql table utf8-unicode \u0026#34;moodle\u0026#34; mkdir /var/moodledata chown nobody /var/moodledata chmod 777 /var/moodledata root@lamp:/var# apt-get update root@lamp:/var# apt-get install wget root@lamp:/var# apt-get install php5-gd root@lamp:/var# apt-get install php5-curl root@lamp:/var# apt-get install php5-xmlrpc cd /var/www wget http://download.moodle.org/download.php/direct/stable19/moodle-weekly-19.zip unzip moodle-weekly-19.zip Access http://ip/moodle\n(create config.php in /var/www/moodle)\nchange pwd,\nuser admin, pw admin\nupload user.csv as iso8859-1 (if you\u0026rsquo;re using öüä!) batch import\nsetting up firewall\nsetting up nat\nsetting up dyndns server for dyndns adress\nwith phpmyadmin moodle`.`mdl_mnet_host` change to: Bearbeiten Löschen 1 0 http://DYNDNSADRESS/moodle CORRECTDNSADRESS.COM 0 0 0 0 0 0 NULL 1 $ apt-cache search php | grep gd php5-gd - GD module for php5 ","date":"2010-01-22T07:34:57Z","permalink":"/posts/2010-01-22-quickn-dirty-moodle-learning-platform-setup/","title":"Quick'n Dirty Moodle Learning Platform Setup"},{"content":"So, we happend to get an new ESXi 3.5 Server, using an Dell Optiplex G620 for that.\nTo install ESXi 3.5 U5 onto that Desktop Machine, you NEED to upgrade to Bios A11 and Shutdown CPU Limit ID - and do the Install in SATA Normal Mode (not Compability!). You also need to use the Tipps to install to an IDE Drive (so changing TYPE_IDE to TYPE_ISCSI in the TargetFilter.py) - than it will work flawlessly\u0026hellip; (As long as you get the Bios updated, we had the \u0026ldquo;orignial\u0026rdquo; A01 Bios and it refused to use an Boot CD for the Update (did load but then always did disable Keyboard - you couldn\u0026rsquo;t enter anything\u0026hellip;). We solved the Problem by using an REAL Floppy Disk\u0026hellip; Yeah, was hard to get one. That worked! Ah and by the way, the ESXi install did load then, but the Keyboard got Stuck again - we plugged in an USB Keyboard and that one worked, the PS2 didn\u0026rsquo;t wanted to.. well, it always an Adventure setting up ESXi on non-listed Hardware - especially with Dell Bios ;-)\u0026hellip;\nSo - the other Problem is the new and very cool Ubuntu 9.10 - which we did install on the ESXi with latest Software Upgraded. Both Ubuntu 9.10 and ESXi 3.5 U5 (and latest Update by Infrastructure Update Client\u0026hellip;). So Problem was: You installed everything, installed VMWare Tools and everything worked - rebooted and your Network was fried\u0026hellip; Actually non DNS Lookup did work at all - and everything else neither. DHCP and such worked but it looked like something on the \u0026ldquo;Hardware\u0026rdquo; (lol?) / Kernel Level screwed up.\nMy Co Worker Sebastian came up with one Post, giving an Solution to the Problem:\nUnplug the Network from your Ubuntu (by going into the Infrastructure Client, choose Settings of the Machine, choose the NICs and unclick both \u0026ldquo;Connected\u0026rdquo; Buttons, press Enter)\nsudo rmmod pcnet32 sudo rmmod vmxnet sudo modprobe vmxnet Replug the Network\nAnd now it works again!\n\u0026hellip;..until the next reboot\u0026hellip;. T_T\u0026rsquo;\u0026rsquo;\u0026rsquo;\u0026hellip; \u0026gt;.\u0026lt;'\nSo.. no final solution here but NOT installing VMWare Tools.\nAnd thats my recommandation after the 5th reinstall of Ubuntu.\nWill try again on the next Ubuntu and ESXi Upgrade.\n","date":"2010-01-08T07:19:46Z","permalink":"/posts/2010-01-08-esxi-3-5-dell-optiplex-g620-esxi-3-5-u5-problems-with-ubuntu-9-10-and-vmware-tools/","title":"[ESXi 3.5] Dell Optiplex G620 ESXi 3.5 U5 \u0026 Problems with Ubuntu 9.10 and Vmware Tools"},{"content":"To access the unsecured(!) Remote Desktop of an Ubuntu 9.10 installation, you need following:\nFirst, install the openssh-server:\nsudo apt-get install openssh-server Then, you need to enable the XDMCP Server.\nThat became a bit tricky on that Installation, as the \u0026ldquo;Point \u0026rsquo;n Click\u0026rdquo; enabling has been removed.\nDunno why. So, thats how it works. First we copy over the \u0026ldquo;empty\u0026rdquo; custom.conf for gdm:\nsudo cp /usr/share/doc/gdm/examples/custom.conf /etc/gdm/ Then we edit it:\nsudo vi /etc/gdm/custom.conf It should look like this in the end:\n# GDM configuration storage [xdmcp] Enable=true DisplaysPerHost=2 [chooser] [security] [debug] After that, we need to restart gdm:\nsudo restart gdm And thats it, the XDMCP is running. To access it on Windows i.E., you have to download Xming ( http://sourceforge.net/projects/xming/ )\nDownload and install the Windows Client, start the XLaunch Tool. Choose One window, Next, Open Session via XDMCP, Next, Enter the IP of the Ubuntu Server under \u0026ldquo;Connect to Host\u0026rdquo; and Press Next, Press Next, Save the Config were you want to have it and Finish.\nThats it, an X Window with the Login to your Server will open. Please bare in mind that this XDMCP Session is NOT encrypted. You should Tunnel it via SSH\u0026hellip;\n// Big Parts were taken from http://www.peppertop.com/blog/?p=690\n","date":"2010-01-07T11:46:54Z","permalink":"/posts/2010-01-07-remote-desktop-with-xdmcp-on-ubuntu-9-10/","title":"Remote Desktop with XDMCP on Ubuntu 9.10"},{"content":"One of the most important things by working in \u0026ldquo;dangerous\u0026rdquo; Networking Enviroments is protection.\nAnd by that I don\u0026rsquo;t mean the usual (and important!) Anti Virus, Anti Malware and Firewall Software, but Traffic Tunneling, meaning VPN or SSH.\nSSH is the secure equivalent to the good old (and Plaintext transmitted) Telnet. And its also more powerful: Its use is not limited to remote Control, but can also provide an secured Datatunnel through which all your Traffic to your Remote Location (i.e. an Mysql Database, Web- or Mailserver or the Web itself) is tunneld - and encrypted. Giving therefore little to no chance to \u0026ldquo;Wiresharkes\u0026rdquo; and other Cable Tappers or Span Users.\nSo lets go:\nSetting up the SSH Server\nSetting up an ssh Server is as simple as: apt-get install openssh-server if you\u0026rsquo;re running Debian or Ubuntu.\nOptional you can configure that the \u0026ldquo;root\u0026rdquo; Account\nwon\u0026rsquo;t be able to access via ssh and you can configure that\nPlaintext Passwords aren\u0026rsquo;t allowed. We will go for an Keybased Setup here,\nbut I would recommend not shutting down this Plaintext Password Authentification\nif you can\u0026rsquo;t access the machine physically easily (as the Certifactes are only valid\nfor one year\u0026hellip;).\nConfiguring the SSH Server vi /etc/ssh/sshd_config change Port to 18000 Port 18000 // Thats an must! deactivate root access PermitRootLogin no // Thats optional, it does NOT allow your root Account to login via SSH. // Only set that if you know what you\u0026#39;re doing! deactivate password login PasswordAuthentication no // Thats optional as well, you can set that after this whole thing, // as you have working SSH Key Authentification - but beware, // you won\u0026#39;t be able to login via an Password then! // ( And that will hurt if your Keys are expired and don\u0026#39;t work anymore... ) Configure Router (NAT and Firewall) to Allow Access to your SSH Server.\nUse Dynamic DNS (i.E. DynDNS.org) to get an Dynamic DNS Adress.\n( Means that an adress like myserver.dyndns.org will always point to\nyour dynamically changing IP Adress of your Router. Most Routers have an\nDynDNS Client built in, so they update the DynDNS Account on every IP Change -\nlook it up in the Handbook / Config Menu)\nSetting up an SSH User with Restricted Shell Access\nsudo apt-get install rssh // Installs the restricted shell sudo useradd tunnel -m -s /usr/bin/rssh // Creates an User named tunnel with the Restricted Shell sudo passwd tunnel // Enter the Password you want for the User Setting up Squid HTTP Proxy sudo apt-get install squid Creating the Connection using Putty and Setting up the Clients\nDownload the Putty installer from\nhttp://www.chiark.greenend.org.uk/~sgtatham/putty/download.html\nand install. Then open Putty: Session -\u0026gt; Hostname and Port: Enter your DynDNS Adress and the Port you chose for SSH Connection -\u0026gt; Enable TCP Keepalives Connection -\u0026gt; SSH -\u0026gt; Don\u0026#39;t start a shell or command at all Connection -\u0026gt; SSH -\u0026gt; Enable compression Connection -\u0026gt; SSH -\u0026gt; Tunnels: Source Port you can choose i.E. 20000 // Source Port is the Port the Tunnel will end on your \u0026#34;Client PC\u0026#34; Connection -\u0026gt; SSH -\u0026gt; Tunnels: Destination Port localhost:3128 // Destination Port is in that Case the Server (localhost) and Port 3128 // which is the Squid Proxy. But it could also be something like // IPofyourRouter:21 to forward the Telnet of your Router to Port 20000 on // the Remote PC, or IporNameofyourHomePc:3389 to forward the Windows // Remote Desktop - or anything else. You would then connect with the // Remote Desktop Tool to \u0026#34;localhost:20000\u0026#34; to Access your PC at Home. Session -\u0026gt; Press Save and Save the Session Session -\u0026gt; Press Open and Enter your Login, i.E. tunnel and password You won\u0026rsquo;t see anything as it stays open and \u0026ldquo;nothing happens\u0026rdquo;.\nGo to your Internet Explorer \\ Firefox and enter as Proxy localhost, Port 20000\nInternet Explorer:\nExtras, Internetoptions, Lan Settings, Choose Proxy Server for Lan Enter localhost, Port 20000 Firefox:\nExtras, Settings, Advanced, Network, Settings Manual Proxy Configuration, HTTP Proxy: localhost, Port 20000 For all Protocols And now you\u0026rsquo;ll be able to surf the Web Securely from everywhere through your\nsecured Tunnel!\nWARNING: ONLY the Traffic is secured. Your DNS Lookups STILL go to your local\nDNS Server. So i.e. the Local DNS Admin can see that you were surfing on\ni.e. Google, Facebook or so - but can\u0026rsquo;t see what you did transmit there.\nTo change that and to do DNS also tunneled via SSH do this:.\nInternet Explorer:\ndon\u0026rsquo;t know, isn\u0026rsquo;t working\nFirefox:\n// Enter in the URL Bar: about:config // Look for this string and set it to \u0026#34;true\u0026#34; network.proxy.socks_remote_dns Only one thing to do left:\nSet Keybased Authentification.\nKeybased Authentification has two main Advantages:\na) You can use it allow scripts to identify themselfes via the key and use ssh\nb) Its more secure as the Key does check its Serverpart and tells you if you\u0026rsquo;re\nconnection has been redirected or intercepted. Its the way to go.\nCreating keys:\nsu // Enter password for root Access ssh-keygen -t rsa -b 2048 Just \u0026#34;enter\u0026#34; through everything Installing keys:\ncd /home/tunnel/ mkdir .ssh chmod 700 .ssh/ cd .ssh/ touch authorized_keys cat ~/.ssh/id_rsa.pub \u0026gt; authorized_keys chmod 600 authorized_keys cd .. chmod 700 .ssh/ chown tunnel -R .ssh/ exit Download the key id_rsa in /root/.ssh/ via WinSCP to your PC\nStartup puttygen which you did gain with the Putty installer.\nLoad the id_rsa in Putty and press on \u0026ldquo;Save Private Key\u0026rdquo;\nUsing key based Authentification with Putty:\nOpen Putty and load your Preset Connection -\u0026gt; SSH -\u0026gt; Auth And use the \u0026#34;Private Key File for Authentification\u0026#34; to point to your previously set Private Key (wheter encrypted or not isn\u0026#39;t important at this Point). Go again to Session and Save again. Press Open. You\u0026#39;ll be asked to enter your Username and Passphrase (if you got one). If you want to really automate that, you can even specify your Username in Putty under SSH -\u0026gt; Connection -\u0026gt; Data \u0026#34;Auto Login Name\u0026#34; ","date":"2010-01-06T12:30:44Z","permalink":"/posts/2010-01-06-ssh-tunneling/","title":"SSH Tunneling"},{"content":"Hi there, I was working on an Serial GPS Mouse, Type Royaltek RGM 2000, also called \u0026ldquo;Blue Mouse\u0026rdquo;, which became famous for beeing deployed with an Medion GPS Kit Years ago. Its an really cool looking Mouse (Serial/Usb depending on the properitary Connector you attach), powered by an Y-Cable with 5 Pins, powered by an quite old SiRF 2 Chipset. I did solder my own Data and Poweradaptor, which worked great. But as I wanted to be \u0026ldquo;up-to-date\u0026rdquo;, I searched the Web for some more recent Firmware, stumbled upon some, flashed - and killed the Mouse .\u0026rsquo;\u0026rsquo;\u0026hellip; (wrong Firmware for wrong Mouse\u0026hellip; Couldn\u0026rsquo;t set it anymore to SiRF to Flash it or ANYTHING! )\u0026hellip;\nWell\u0026hellip; horrible thing, I browsed the Web, knowing not much about GPS Mouses and stuff, but at some point I came up with the knowledge about an 2 Staged Bootloader - an Internal and an External Flash: While the external contains the GPS Software, the internal Flash only consits of the \u0026ldquo;Bios\u0026rdquo; and provided the Recovery Mode - and thats what I wanted. Basic idea is following: You grab the VCC (5V+ in that Case), get some 10k - 15k Resistor before that and Short Circuit the \u0026ldquo;Boot Sel\u0026rdquo; Pin on the SiRF Chipset, get some Power on your Mouse\u0026hellip; and voilá: Boot Mode! Well, sounds easy, doesn\u0026rsquo;t it? Believe me, its horrible! ^^\u0026rsquo; Couldn\u0026rsquo;t find any useful Datasheets and Google couldn\u0026rsquo;t help me at all. Sadly. But well, hey, that thing is dead already, so lets have some fun and discover - maybe we find out! And what shall I say? I made it! I could recover flash the Mouse and now its supplying data again, running NMEA or SiRF Data - what I wanted and choose!\nGood Stuff, so as there is no stuff in the net, I will hook you up with some little Instructions to get your RGM 2000 working again. So, lets go!\nNeeded Stuff:\nTerraterm\nRoyaltek RGM 2000 Firmware ( http://www.mikrocontroller.net/topic/104240#1509333 )\nRoyaltek Flash (contained in \u0026ldquo;RBT-3000 PCv1.3\u0026rdquo;.zip in the AP Download, Discont. Archiv of www.royaltek.com)\nOR Complete Package: Firmware + Flash Tool ( http://www.mikrocontroller.net/topic/104240#1509564 )\nSiRF Demo \u0026amp; SiRF Flash 3.1 ( http://www.falcom.de/support/software-tools/sirf/ )\nRemove the two labels at the Buttom of the Mouse, you\u0026rsquo;ll see two screws - open it up!\nThe big thing on top of the Mouse is the Antenna - you need to remove it by desoldering it - and one of the two metal shieldings - the one which is closer to the cmos akku / battery (not the one from which the antenna cable comes out!)\nGet some cable, connect it to the red connector cable of the Mouse (5V), connect an 10k - 15k Resistor to it and connect it manually with the Bootsel Point (First Picture Red marked Point).\nSet your Terraterm to 4800 Baud, Connect the GPS Mouse and power up the Device while you hold the Resistor to the Bootsel Point. You should see following in Terraterm You need to hold the Point about 2 Seconds. It should not give anything else but this \u0026ldquo;Symbol\u0026rdquo;. If thats done, you have succesfully booted it into Recovery Mode. You can let go of the Bootpoint. Close Terraterm and load the RoyalTekFlash.exe\nSet RoyalTekFlash to the following settings (correct to your Com Port!) and press Start, it should come up and flash the Device. If not, you maybe got the wrong Com Port, your Mouse did not correctly boot into the Boot mode or you still got any Programm running that uses the Com Port. The Programm will start erasing the Memory and then flashing with the new Firmware. At 99% an Communication Error will occur. Most certainly. No problems, just accept it, its ok.\nYou\u0026rsquo;re done! Reset your Mouse and connect with the SiRF Demo - (Nmea, 4800 Baud) - you\u0026rsquo;ll see the Data again. You can now set the Mouse to SiRF Mode and 38400 Baud and reflash it with the same Firmware again with the SiRFFlash 3.1 Tool (38400 Baud, External Bootmode, Erase whole chip, choose the File and click Execute) - and after that load Factory Settings in SiRF Demo. Just to be sure that everything has been flashed correctly.\nResolder and Reassemble the GPS Mouse\nCongrats, and thanks very much to Peter Bandhauer of the http://www.mikrocontroller.net/ Forums which supplied me with the Firmware Dump (231.000.000) - without you I would never got that thing working again! Thank you!!!\n","date":"2009-12-06T17:17:44Z","permalink":"/posts/2009-12-06-unbrick-royaltek-rgm-2000-bluemouse-gps-mouse/","title":"Unbrick Royaltek RGM 2000 \"Bluemouse\" GPS Mouse"},{"content":"Most old G4s PowerPCs have Problems with the Elkos of their Powersupply.\nIf you\u0026rsquo;re a bit into Soldering, you can quite easily exchange these and get it working again.\nSadly, it didn\u0026rsquo;t work out for me, maybe something different wrong\u0026hellip;\nBUT - for the sake of helping you out, I made a Picture with the Specs of the Elkos that normally \u0026ldquo;fail\u0026rdquo;.\nRed are the ones which actually were really dead as I measured the old ones (i.e. the 25V 100microF had only 68microF left),\nGreen were the ones that \u0026ldquo;still worked\u0026rdquo; / were in quite good condition.\nBut thats only from one Powersupply, on yours it might look different.\nBut anyway, good luck!\n","date":"2009-11-27T08:27:03Z","permalink":"/posts/2009-11-27-repair-mac-g4-powersupply/","title":"Repair Mac G4 Powersupply"},{"content":"Last time I wanted to install Mac OS X Leopard on an Mac and had the problem of an DVD that was always reported as \u0026ldquo;defect\u0026rdquo; - It could boot but not install.\nSo, I came around an quite easy solution:\nInstalling Mac OS X Tiger - and then Updating!\nSeemed that my DVD is somehow only scratched where the \u0026ldquo;Complete Reinstall\u0026rdquo; Files are.\nAh, and by the way:\nI had for ages the Problem of Warcraft 3 etc which didn\u0026rsquo;t wanted to run under Mac OS X (both Tiger and Leopard) in the latest Version.\nIt always crashed as I choose \u0026ldquo;Option\u0026rdquo; in Game.\nSolution is quite easy:\nGo to ~/Library/Preferences and erase the com.blizzard.WarcraftIII.24 and Warcraft III Preferences Files.\nThats it!\n","date":"2009-11-08T14:55:04Z","permalink":"/posts/2009-11-08-mac-os-x-install-problems/","title":"Mac OS X Install Problems"},{"content":"Hi there.\nSo know that I started to life in the more recent Mac World (through an donated G4, thanks a lot! ^.^), I also feel the need to get a bit more to grips with this little fella.\nThe most basic stuff I did need in recent time:\nEject CD / DVD if \u0026ldquo;stuck\u0026rdquo;:\nThrough Open Firmware\nPress ALT + Apple + O + F after the beep as you turned the Mac on.\nA white command line will apear. Enter eject cd and press enter.\nYou can do this again to close the drive.\n( And mac-boot if you want to boot or shutdown )\nThrough Comamnd Line \\ Terminal\ndrutil list shows the installed CD Drives.\ndrutil eject NUMBER does eject the CD from the numbered drive.\nTarget Disk Mode \\ Firewire:\nIf you got two Macs, the most impressive thing is the Target Mode.\nIn Target Mode, you connect two Macs via Firewire Cable, start your Target Mac and press T as long as some nice Firewire Logo appears, and start the second One, with, for example, ALT Key pressed. This will give you an possibility to choose your Bootvolume. So, as Target Mode is active and the Macs are connected, also the DVD Drive and Harddisk from the Target Mac does show up! You can even boot his Mac OS! Cool. Ain\u0026rsquo;t it? Thats useful in cases of Harddrive Crash or for example, If you want to use the other Macs DVD Drive if your other Macs is dead or not existing (Mac Book Air?).\nAlso you could set the \u0026ldquo;to be installed\u0026rdquo; Mac in Target Mode, boot into Mac OS install and install on the Target Macs Harddrive. So, you got some options, use them! ^^\nAh.. by the way, as this site figures out ( http://lowendmac.com/osx/leopard/unsupported.html ) you can also install Mac OS X 10.5.1 Leopard on an old 400 MhZ G4 by starting it in Target Mode and install Mac OS X onto its Harddrive! Cool!\n","date":"2009-11-07T10:41:49Z","permalink":"/posts/2009-11-07-unstuck-cd-and-the-blessing-called-firewire-mode/","title":"UnStuck CD and the Blessing called Firewire Mode"},{"content":"Some little Special about my most beloved and used Addons for Firefox and Thunderbird!\nFirefox:\nAdblock:\nAdblock is one of the most well known and widely used tools. It does what it says: Blocking Ads, Popups and such.\nBugmenot:\nBugmenot is an integration of the Website www.bugmenot.com into the Firefox.\nBugmenot is an service on which you can add own login data to Forums and Websites which everyone else can use to login.\nSo, you don\u0026rsquo;t need to register on every website to gain access.\nCompact Menu 2:\nDuplicates the menubar on the toolbar as a menu of menus.\nGreat for Eee PCs!\nDownload Statusbar:\nShows up a little bar in the statusbar instead of the big and unhandy \u0026ldquo;Downloads\u0026rdquo; thingy popping up. Really nice and better looking.\ndeviantAnywhere:\nDoes check up your Deviantart Account regularly.\nFireftp:\nAn fully fledged FTP Client. This saves you from installin another WSFTP or CuteFTP or whatelse.\nLiveHTTPHeaders:\nUseful if you develop shell scripts which use curl to login.\nProxyButton:\nDoes quckly turn proxy on and off.\nHints:\nTo install you need to turn check security off.\nEnter about:config and add an Boolean Key \u0026ldquo;extensions.checkUpdateSecurity\u0026rdquo; with 0\nThen install: http://downloads.mozdev.org/proxybutton/proxybutton-0.3.1.xpi\nTo use the proxy tool on startup, create a link to firefox.exe and end it with\n-proxy 1 (to enable proxy) or -proxy 0 (to disable proxy)\nhttp://proxybutton.mozdev.org/\nTabMixPlus:\nDoes improve TabBrowsing with Firefox.\nWOT:\nThe Web of Trust. Now thats important!\nThis cool tool checks up the website you\u0026rsquo;re visting wheter theres some \u0026ldquo;un-nice\u0026rdquo; entry about it in its database.\nEntries to this Database can be submitted after registration at WOT.\nSo you can acctually warn other Users from Phising and untrusthworthly shops and so on.\nShould be installed on every Firefox and can also be configured as child-protection.\nXmarks:\nFormerly Foxmarks is an Tool which can synchronize all of your Firefox Bookmarks from Home, Work, Laptop - etc.\nYou\u0026rsquo;ll never ever come to the point of \u0026ldquo;Damn, I only saved this favorite at Work..\u0026rdquo;.\nIt can also be configured that for example your Work PC does only get an special \u0026ldquo;Work\u0026rdquo; Folder, while the rest of the clients are getting the full data.\nAdditionally, Xmarks can synchronize the Password Database of Firefox.\nWell, thats I thing I haven\u0026rsquo;t tried and won\u0026rsquo;t. Use KeePass to store and carry your Passwords securely!\nThunderbird\nContactsSidebar:\nDoes add some sidebar to your Thunderbird which contains the contacts like in Outlook Express.\nLightning:\nAn huge Calendar Application. Powerful!\nMoreFunctionsforAdressbook:\nDoes add fields for things like Birthdate into the Adressbook.\nhttps://nic-nac-project.org/~kaosmos/morecols-en.html\nProvider for Googlecalender:\nDoes include your Calender at your Googleaccount. Very useful if used with Lightning\nThunderbirthday:\nDoes create an Calendar from the Birthday Entries from your MoreFunctionsforAdressbook enabled Adressbook - for Lightning.\n","date":"2009-11-05T09:58:27Z","permalink":"/posts/2009-11-05-firefox-and-thunderbird-addons-special/","title":"Firefox and Thunderbird Addons Special"},{"content":"Just some quick private notes\u0026hellip;\nTag Vlan Global\nPort 7 GVD 2\nPort 8 1\nVlan 1\nall Drop\n8 Add\nVlan 2\nPort 7 Drop\nPort 8 Add\n","date":"2009-11-01T12:55:04Z","permalink":"/posts/2009-11-01-tplink-switch-vlan-notes/","title":"TPlink Switch Vlan Notes"},{"content":"Well, If it comes down to a simple Homenetwork - and a PC crash, normal situation is following: You\u0026rsquo;re mostly dead in the water.\nWhy?\nBecause most ppl don\u0026rsquo;t backup their data on a regular basis or do it wrong.\nActually, there are 3 kinds of pepole:\na) The person who doesn\u0026rsquo;t backup\nb) The person who thinks does a backup - but does it wrong\nc) The person who does a backup and stops after a while because he is too lazy\u0026hellip; and experiences a crash\u0026hellip;\nWell, I myself count am Type c) - I did backup for example my E-Mails in Outlook Express - but stopped after a while, and a year later I got a really big crash.\nSo, today, I use Thunderbird ( 😉 Thats plus, ain\u0026rsquo;t it? ) and I do backup at least weekly - or on an \u0026ldquo;ohmygodthatcouldturnoutbadithinkishoulddoanbackupNOW!\u0026rdquo; basis.\nAnd because I got three computers already in my network which does need backup and updates on an daily basis, I built myself an little nice Dual Atom based Server.\nBut thats another story.\nSo, here the best tools for backing up your data and my personal notices to that, have fun and take care!\nDatabackup:\nRsync\nRsync is the most widely used backup tool in the unix world. And it does also come in an windows flavor!\nThe best thing about rsync? It does only transfer file changes, and not a stupid \u0026ldquo;folder-to-folder\u0026rdquo; copy.\nRsync is a client-server based tool. So the best idea is to install the server on an \u0026ldquo;real\u0026rdquo; server with some nice RAID5 System,\nand let the client do the work on for example your windows xp machine. Oh, by the way: There is no problem in having\nan unix/linux rsync server and an windows xp client. Works out all the way. But thats not the only thing you can do:\nYou can also install the server and client on the same pc and use it to make backups from your usb stick to your harddrive (for example).\nRsync: http://samba.anu.edu.au/rsync/\nDeltaCopy (Windows Rsync with Gui): http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp\nFTP / Webbackup:\nFtpSync\nIf you\u0026rsquo;re the poor kind of person which does host its Website with an \u0026ldquo;you-get-no-shell\u0026rdquo; hoster like I am, you need to backup your Website in another fashion as rsync:\nFTPSync seems to be the perfect solution because it only transfers changed files, it does reduces the amount of \u0026ldquo;for backup used bandwith\u0026rdquo; by a big deal. (I myself host about 600 mb now on files, pictures and other things - and this little guy is really an helper) FTPSync does run on Windows 2000 and above. It can use scripts / ini Files which allow FTP-To-FTP Sync, as well as FTP-To-File Sync. So, also useful if you build up your Website on your Homeserver and want to commit the changes.\nFtpSync: http://www.cyberkiko.com/category/FTPSync.aspx\nMysql Backup:\nMysqldumper and phpMyBackupPro\nAs already mentioned, no shell access is a hard thing for an Website Administrator. Especially when it comes to Mysql Backups - called Dumps. Well, yes you can use phpMyAdmin to Dump these Files - but there is a maximum php execution time which does sometimes corrupts your backup - in case the database has grown too big.\nIn this case there are two tools which will help you: Mysqldumper and phpMyBackupPro. First: They both do backup and restore. That said, what are the main differences? a) Mysqldumper has the advatage of using multiple mysql logins, as given away by most hosters (you get for example 3 databases, and everyone got another login name and password - its more secure and you can use it and share it with other projects). b) phpMyBackupPro is easier to configure in terms of cronjobs, so automatic backups as Mysqldumper. Which of these tools you use is your choice, and depends on the features you need.\nMysqldumper: http://www.mysqldumper.de/\nphpMyBackupPro: http://www.phpmybackuppro.net/\nTipp: You should use the Mysql Backup Tools in conjunction with FTPSync to Backup your complete account.\n","date":"2009-10-22T06:58:50Z","permalink":"/posts/2009-10-22-backup-data-website-and-mysql/","title":"Backup Data, Website and Mysql"},{"content":"There are dozend Situations in which Backtrack 3 comes in handy.\nBacktrack 3 is an special Linux Suite of Security Auditing Tools which allow i.e. WEP Cracking, Network Security Checking, Sniffing, and so on.\nTo make this nice Suite a bit more portable, we will put it onto an Usb Stick and customize it with Eee901 Drivers, persistent Changes and Nessus 4!\nDownload:\nBacktrack 3 USB Version: http://www.remote-exploit.org/backtrack_download.html\nunetbootin Windows: http://unetbootin.sourceforge.net\nPartiton Tool, like partedmagic: http://partedmagic.com\nEee901 Pack: 901_net_gfx.lzm (you\u0026rsquo;ll find it in google)\nNessus 4.0.2: http://www.nessus.org/download/\n( We need the 4.0.2 as Nessus-4.0.2-linux-generic32.tar.gz and the Graphical Linux Interface for nessusd NessusClient-4.0.2-es4.i386.rpm )\nAnd you should help yourself to an free personal key under http://www.nessus.org/plugins/?view=register-info\nPreparation:\nFirst thing is you need to prepare the Usb Stick. For Backtrack 3, an 2 GB Stick should be ok. For Backtrack 4, you would need an 4 GB Stick at least.\nGet your stick and partedmagic CD Plug it in and boot to partedmagic Create with the Partitioneditor 2 Partitions fat32, 900mb ext2, 1100mb\n-\u0026gt; write down if your usb stick is sda1, sdb1, or what. Reboot - again to partedmagic\nNow create an folder called changes to the second partition.\nShould look somehow like this (not nice, but should work if you\u0026rsquo;re on sda2\u0026hellip;): mount /dev/sda2 /mnt cd /mnt mkdir changes cd / umount /mnt Done, boot to Windows Installation of Backtrack 3:\nStart unetbootin Choose Disk Image, ISO and as file the Backtrack3 USB Check wheter the destination drive is correct (your usb stick, fat32 partition) - CHECK TWICE! And Error would kill your System! Press Ok and wait until its done, do NOT reboot Copy 901_net_gfx.lzm to your usb stick, folder BT3\\optional Open syslinux.cfg in boot\\syslinux\\ and add following lines, which will be your new menu entrys for booting from the usb stick - with eee901 drivers. label eee901save menu label BT3 Graphics mode (Eee901) - Save Changes kernel /boot/vmlinuz append vga=785 initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw load=901_net_gfx autoexec=kdm changes=/dev/sda2 label eee901 menu label BT3 Graphics mode (Eee901) kernel /boot/vmlinuz append vga=785 initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw load=901_net_gfx autoexec=kdm WARNING! changes=/dev/sda2 MUST be changed to what you saw on the partition - and maybe you still need to try it out.\n2 means second partiton and thats right - ext2 partition. This changes tells Backtrack where it should save the changes you make while working in it.\nthe changes could be sda2 or sdb2 or sdc2. But mostly its sda2.\nSave after you\u0026rsquo;re done\nOpen cmd and access your usb stick, cd to boot\\syslinux\\ and execute this:\nsyslinux.exe -ma -d \\boot\\syslinux H: (H: should be your usb drive letter\u0026hellip; will be different!)\nThis will write the bootmanager to the usb stick with the settings you entered in 6).\nAfter changing for example the changes line there, you will need to repeat this again, also.\nYou\u0026rsquo;re done. Boot from the stick, it should work.\nInsallation of Nessus 4:\nNessus is an auditing tool which is really strong - but is not complete opensource - so you need to install it manually.\nBoot onto your Backtrack 3\u0026hellip;\nInstall NessusServer\nNessus-4.0.2-linux-generic32.tar.gz gunzip Nessus-4.0.2-linux-generic32.tar.gz tar -xvf Nessus-4.0.2-linux-generic32.tar cd Nessus-4.0.2 install.sh Follow the install instructions\n/opt/nessus/sbin/nessus-mkcert /opt/nessus/sbin/nessus-adduser cd /opt/nessus/etc/nessus nessus-fetch --register XXX-YYY-ZZZ-VVV (Serial you obtained) Launch the Server:\n/opt/nessus/sbin/nessus-service -D Install NessusClient\nNessusClient-4.0.2-es4.i386.rpm rpm2tgz NessusClient-4.0.2-es4.i386.rpm pkgtool (Select NessusClient-4.0.2-es4.i386) cp /usr/lib/libssl.so.0.9.8 /lib cp /usr/lib/libcrypto.so.0.9.8 /lib cd /lib ln -s libcrypto.so.0.9.8 libcrypto.so.4 ln -s libssl.so.0.9.8 libssl.so.4 Launch the Client:\n/opt/nessus/bin/NessusClient Nessus Install taken from: http://forums.remote-exploit.org/backtrack3-howtos/22031-backtrack3-nessus-4-0-install.html\nRest from Remote Exploit and others / google\n","date":"2009-10-07T13:53:21Z","permalink":"/posts/2009-10-07-eee901-create-an-backtrack-3-eee901-usb-stick/","title":"[Eee901] Create an Backtrack 3 Eee901 Usb Stick"},{"content":"To check wheter which version of Windows is installed on that shiny little x64 box with 64 Processors and 4 TB of RAM, you should start the msinfo32 and watch for \u0026ldquo;Systemtype\u0026rdquo;: and x86 is clearly an 32 bit Windows Installation, while an x64 or ia64 means that you\u0026rsquo;re running on 64 bit.\n","date":"2009-10-07T13:20:15Z","permalink":"/posts/2009-10-07-xpvista7server2k38-x86-x64-what-am-i-and-how-many/","title":"[XP/Vista/7/Server2k3/8] x86? x64? What am I, and how many?"},{"content":"Autotuning dynamically changes the TCP Window Size - which often causes errors as loss of network connectivity, firewall problems, and so on.\nTo show the status of this autotuning, you should check it with admin rights under cmd with this command: netsh interface tcp show global To disable use: netsh interface tcp set global autotuning=disabled To reenable use: netsh interface tcp set global autotuning=normal\nAnother important thing concerning wireless problems - you should install Service Pack 2, as it does contain an bunch of hotfixes and other important stuff.\n","date":"2009-10-07T13:14:38Z","permalink":"/posts/2009-10-07-vista-how-to-disable-network-auto-tuning-and-fix-connectivity-problems/","title":"[Vista] How To Disable Network Auto Tuning and fix Connectivity Problems"},{"content":"The Satellite \\ Satellite Pro P300 \\ P300D Series suffers from Problems with Wireless Connectivity.\nTo solve these problems you need to upgrade to at least Bios Version 3.00 (recent is 3.10).\nFor XP and Vista64, that should already fix it.\nFor Vista32, you need to upgrade the Wireless Lan Drivers as well.\nBut I would recommend upgrading it also on x64 Systems.\n(disabling autotuning for networking and installing sp2 should help as well!)\n","date":"2009-10-07T13:08:11Z","permalink":"/posts/2009-10-07-toshiba-satellite-p300d-211-pspdce-02koowgr-wireless-problems/","title":"Toshiba Satellite P300D-211 (PSPDCE-02KOOWGR) Wireless Problems"},{"content":"If you get an Stop Error 7B / Blue Screen of Death (BSOD) on Windows XP Setup (for example Win Xp 32bit Professional) on an up-to-date machine, you should try changing the SATA Controller Mode from AHCI to IDE / ATA in BIOS. That should do the trick.\n","date":"2009-10-06T06:07:37Z","permalink":"/posts/2009-10-06-solve-stop-error-7b-on-windows-xp-setup/","title":"[XP] Solve Stop Error 7B on Windows XP Setup"},{"content":" Boot with Knoppix mount /dev/sda1 /mnt vi /etc/shaodw i kill the string between the first and second :\u0026hellip;\nfor example: user:$1$pM8HYEMB$Cx0yiRM4pj2Ty4lFBWuy4.:12038:0:99999:7::: becomes:\nuser::12038:0:99999:7::: ESC :w Enter cd / umount /mnt reboot login with user and just press enter on password. enter passwd and change the password. you\u0026rsquo;re done! ","date":"2009-10-02T08:55:52Z","permalink":"/posts/2009-10-02-reset-password-on-linux/","title":"Reset Password on Linux"},{"content":"Hostname:\nhostname test Image Upgrade:\ndel /r /f flash:c3560-ipbase-mz.122-35.SE5 copy tftp://192.168.2.1/images/c3560-ipbasek9-mz.122-46.SE.bin flash: del - File\nrm - Folder\nBoot with other Image:\nboot system c3560-advipservicesk9-mz.122-46.SE.bin Portfast (on dhcpd Problems):\nspanning-tree portfast Switchport with Vlan 10:\ninterface FastEthernet0/1 switchport access vlan 10 switchport mode access description nativ macro description NATIV spanning-tree portfast Description Vlan 10:\nvlan 10 name testvlan Trunkport:\ninterface GigabitEthernet0/1 switchport trunk encapsulation dot1q switchport mode trunk ip dhcp snooping trust DHCP Snooping:\nGlobal Activate:\nip dhcp snooping vlan 1-4094 no ip dhcp snooping information option ip dhcp snooping Allow DHCP on Port:\nip dhcp snooping trust ESXi Trunking:\nip dhcp snooping vlan 1-4094 no ip dhcp snooping information option ip dhcp snooping these are the vlans, one main, one “test” for the vm\nvlan 1 name main vlan 999 name test normal client port\ninterface FastEthernet0/1 switchport access vlan 1 spanning-tree portfast vm client port which does access vlan 999\ninterface FastEthernet0/3 switchport access vlan 999 spanning-tree portfast vm server port, which does access normal vlan 1, and does trunk the rest\nip dhcp snooping trust means, that this port is allowed to answer dhcp requests\ninterface FastEthernet0/7 switchport trunk encapsulation dot1q switchport trunk native vlan 1 switchport trunk allowed vlan 1,999 switchport mode trunk ip dhcp snooping trust end Routing with c3560-advipservicesk9-mz.122-46.SE.bin:\n( Every Net needs a own Vlan! )\n( The Vlan Ip is the Gateway )\nip routing interface FastEthernet0/1 switchport access vlan 2 switchport mode access interface FastEthernet0/8 switchport access vlan 3 switchport mode access interface Vlan2 ip address 134.96.10.1 255.255.255.0 interface Vlan3 ip address 192.168.2.1 255.255.255.0 ","date":"2009-08-27T14:14:20Z","permalink":"/posts/2009-08-27-c3560-cheat/","title":"c3560 Cheat"},{"content":"Problem: You got serval networks, you got an c3560 but no Router.\nSolution: Get an c65e VSS\nFollowing Problem: Insufficient Money, Power, Space,\u0026hellip;.\nSolution: Get your c3560 to route these Networks with an Advanced IP Services Firmware\nYOU DO NEED AN \u0026ldquo;advipservices\u0026rdquo; FIRMWARE ON YOUR c3560!\nAssumption:\nOn f0/1 PC with 134.96.10.2 -\u0026gt; We want the Gateway to be 134.96.10.1\nOn f0/8 PC with 192.168.2.2 -\u0026gt; We want the Gateway to be 192.168.2.1\nHow to:\nEasy Idea - for an normal routing process you need an Interface in the \u0026ldquo;to be routed\u0026rdquo; net.\nAnd there for the Solution lies in the usage of vlans.\nEvery port that uses one net is bound to the vlan of that net.\nEvery net get its own vlan.\nEvery vlan gets an ip (the gateway ip thats entered into the pcs of this net).\nActivate routing.\nDone.\nConfiguration:\ninterface FastEthernet0/1 switchport access vlan 2 switchport mode access interface FastEthernet0/8 switchport access vlan 3 switchport mode access interface Vlan2 ip address 134.96.10.1 255.255.255.0 interface Vlan3 ip address 192.168.2.1 255.255.255.0 ip routing ","date":"2009-08-27T11:01:59Z","permalink":"/posts/2009-08-27-c3560-routing-with-advanced-ip-services/","title":"c3560 Routing with Advanced IP Services"},{"content":"My altered Version:\nCall it with ./scp_bkp.sh User Password BKPPath ServerIP\n#!/usr/bin/expect -f\rset USER [lrange $argv 0 0]\rset PW [lrange $argv 1 1]\rset BKPPath [lrange $argv 2 2]\rset IP [lrange $argv 3 3]\r# 1 User, 2 PW, 3 BkpPath, 4 IP\r# trick to pass in command-line args to spawn\r#eval spawn scp $argv\reval spawn scp $USER@$IP:/bootbank/state.tgz $BKPPath\rexpect \u0026#34;password: $\u0026#34;\rsend \u0026#34;$PW\\n\u0026#34;\r# wait for regular shell prompt before quitting\r# probably a better way using \u0026#39;wait\u0026#39;\rexpect \u0026#34;$ $\u0026#34; Orginally taken from: http://tiebing.blogspot.com/2009/01/scp-with-automatic-password-input.html\n","date":"2009-08-10T13:33:58Z","permalink":"/posts/2009-08-10-scp-with-plain-password/","title":"SCP with Plain Password"},{"content":"You want to shrink an too big harddrive on your VM?\nOk, lets go:\n1.) Create an Harddrive in your VM which does have the desired size as second Drive\n2.) Boot the VM with an Parted Magic ISO (http://partedmagic.com)\n3.) Choose GParted and size your existing Harddrive down so that it will fit into the new Drive\n4.) Choose Clonezilla, start for Local Disk, Local Disk to Local Disk, choose your old Disk as Source and the new as Destitination and Expert Modus.\n4b.) Don\u0026rsquo;t change anything in Expert, just klick through and accept the new MBR and Co.\n5.) After thats done, you\u0026rsquo;re done! Shut down, remove the first Harddrive (just remove from VM, NOT ERASE FROM ESXi!) and select the \u0026ldquo;new\u0026rdquo; Drive and set it to the SCSI Path the old one was (0:0:0) or so - fire it up! It should boot.\nIf it doesn\u0026rsquo;t, get the new drive again to second with the second scsi path, insert the old drive as first again, and try again. Mostly works on second trial.\nPS: If you got an Windows VM, try to use Acronis True Image Home 11 and its harddrive clone function. Works better on MS Products.\n","date":"2009-08-04T13:03:59Z","permalink":"/posts/2009-08-04-vmware-how-to-shrink-virtual-harddrives/","title":"[VMWare] How to shrink Virtual Harddrives?"},{"content":"My tool of the week!\nhttp://partedmagic.com/\nIts an Live Linux with all you need to work on HDDs! For example gparted and clonezilla!\nAnd theres even an PXE Boot Image! How cool is that?!?!\n5 Stars +!!!\n","date":"2009-08-03T14:02:22Z","permalink":"/posts/2009-08-03-parted-magic/","title":"Parted Magic"},{"content":"Untar tar.gz\ntar -xvzf filename Tar tar.gz\ntar -pczf filename folder/ Untar tar.bz2\ntar -xvjf filename Unzip\nunzip filename ","date":"2009-08-03T07:47:48Z","permalink":"/posts/2009-08-03-linux-tar-and-zip/","title":"Linux Tar and Zip"},{"content":"Very cool feature which you can enable by using the Viclient.\nGo to\nConfiguration, Advanced Settings, VMKernel, Boot, VMkernel.Boot.serialPort There you can set your wanted Serial Port.\n0 means \u0026ldquo;no Output\u0026rdquo;, 1 \u0026ldquo;Com1\u0026rdquo;, 2 \u0026ldquo;Com2\u0026rdquo;, etc\u0026hellip;\nJust enter you wanted Serial Port, Ok, Close, Shutdown the Server, hook up to the Serial Port with an Console Cable, get your Console open (115200er Speed, you can change that aswell!) and boot up the Server\u0026hellip; Tada! Ok, thats only the log for Bootup!\nIf you want an Output for \u0026ldquo;Working ESXi\u0026rdquo;, you need to go to\nConfiguration, Advanced Settings, Misc, Misc.SerialPort Settings are the same as above.\nEnjoy\n","date":"2009-08-02T19:32:16Z","permalink":"/posts/2009-08-02-esxi-3-5-output-bootup-working-logs-to-serial-connections/","title":"[ESXi 3.5] Output Bootup / Working Logs to Serial Connections"},{"content":"Need:\nESXi 3.5 Iso File http://www.accessdata.com/downloads/current_releases/imager/Imager%20Lite%202.6.1.zip to open Iso and extract Files 7zip, WinRar, or whatever to unzip Files (7zip Recommended) http://syslinux.zytor.com/wiki/index.php/PXELINUX ESXi 3.5 Extract:\n1.) Extract the install.tgz from \\CDROM\\Sessions 1\\Track 01\\CDROM.\nIts the Rock Ridge (RR in Isobuster) Session. Do NOT choose the one from the ISO / Boot part!\n2.) Unzip the install.tgz.\n3.) Extract the VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd.bz2 from the path install\\usr\\lib\\vmware\\installer to an directory of your choice.\n4.) Unzip the VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd.bz2\n5.) Open the File with FTK Imager.\n6.) Extract the files of in Partition4\\root (4 Files ldlinux.sys, mbootc32, safeboot.c32, syslinux.cfg - which are the bootloaders)\n7.) Extract the files of in Partition5\\root (7 Files bindmod.tgz, boot.cfg, cim.tgz, environ.tgz, license.tgz, oem.tgz, vmkernel.tgz - which are the ESXi Program Files)\nPXELinux Extract:\ncom32/mboot/mboot.c32 com32/menu/menu.c32 core/pxelinux.0 TFTP\nCreate root Folder Copy all files from partition5\\root Section within that Folder Copy all files from PXELinux Extract Section within that Folder Create Folder \u0026ldquo;pxelinux.cfg\u0026rdquo; within the root Folder Create an text file \u0026ldquo;default\u0026rdquo; (with NO File Ending or such) in that folder, with following text: default menu.c32 menu title PXE Boot VMware ESXi timeout 100 label ESXi menu label Boot VMware ESXi kernel mboot.c32 append vmkernel.gz --- binmod.tgz --- environ.tgz --- cim.tgz ipappend 2 label Hard menu label Boot from local drive localboot 0 Setup your tftp Server as you normally would and PXE Boot!\n(For example see my PXE Boot Bart PE Post for setting up Tftpd32 for Windows) Taken from: http://docs.google.com/View?docid=ddcwgcd6_4fs6s7jcf\n","date":"2009-08-02T14:25:20Z","permalink":"/posts/2009-08-02-esxi-3-5-pxe-boot/","title":"[ESXi 3.5] PXE Boot to working ESXi 3.5 Hypervisor"},{"content":"So, I\u0026rsquo;m going to write a quick info about ESXis most famous oem.tgz.\nThe oem.tgz is an file supplied by two sources:\na) the \u0026ldquo;install\u0026rdquo; oem.tgz which does sit in the root of your install medium (like pxe tftpboot, or cdrom root)\nthis is ONLY used DURING the installation\nb) the \u0026ldquo;installed\u0026rdquo; oem.tgz which does sit in the file install.tgz\nthis file gets copied during the installation and is therefore active AFTER the installation.\ndetailed path is in\nusr\\lib\\vmware\\installer\\Core\\VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd.bz2 unziped to VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd and there in Partition 5 the oem.tgz\n(AccessData FTK Imager Lite to access)\nDo you want to change the oem.tgz of an running ESXi System?\nJust enable SSH, use Winscp and copy your oem.tgz to the folder /bootbank and replace the old, empty oem.tgz\nThe oem.tgz enables you to change the way the installation works.\nYou can for example add drivers, or add Vendor/Device Codes to the driver table\nMostly used:\nadd Vendor / Device code: /etc/vmware/simple.map driver /mod Look up driver in ESXi:\nlspci -v Watch which device does load which driver:\nlspci -p Is an HDD recognized?\nfdisk -l Just some quick infos\n","date":"2009-08-02T13:41:09Z","permalink":"/posts/2009-08-02-esxi-3-5-oem-tgz-and-the-power-behind-it/","title":"[ESXi 3.5] oem.tgz and the power behind it"},{"content":"Easy as Cake:\nCopy these files from the install CD:\nBINMOD.TGZ, CIM.TGZ, IENVIRON.TGZ, LICENSE.TGZ, MBOOT.C32, MENU.C32, OEM.TGZ and VMKERNEL.GZ into your tftpboot Directory.\nInsert the normal needed pxelinux.0 File, as well as the pxelinux.cfg Folder which contains following File called \u0026ldquo;default\u0026rdquo;:\ndefault menu.c32\rmenu title PXE Boot VMware ESXi\rtimeout 100\rlabel ESXi3.5U4 Install\rkernel mboot.c32\rappend vmkernel.gz --- binmod.tgz --- ienviron.tgz --- cim.tgz --- oem.tgz --- license.tgz --- install.tgz\ripappend 2\rlabel Hard\rmenu label Boot from local drive\rlocalboot 0 Have fun!\nTaken from: http://www.vm-help.com/esx/esx3i/ESXi_PXE_install.html\n","date":"2009-08-02T11:47:24Z","permalink":"/posts/2009-08-02-esxi-3-5-pxe-boot-to-install/","title":"[ESXi 3.5] PXE Boot to Install"},{"content":" At the console of the ESXi host, press ALT-F1 to access the console window. Enter unsupported in the console and then press Enter. You will not see the text you type in. If you typed in unsupported correctly, you will see the Tech Support Mode warning and a password prompt. Enter the password for the root login. You should then see the prompt of ~ #. Edit the file inetd.conf (enter the command vi /etc/inetd.conf). Find the lines that begins with #ssh and remove the #. Then save the file. If you\u0026rsquo;re new to using vi, then move the cursor down to #ssh line and then press the Insert key. Move the cursor over one space and then hit backspace to delete the #. Then press ESC and type in :wq to save the file and exit vi. If you make a mistake, you can press the ESC key and then type it :q! to quit vi without saving the file. Note: there are two lines for SSH with ESXi 4.0 now - one for regular IP and the other for IPv6. You should Once you\u0026rsquo;ve closed the vi editor, you can either restart the host or restart the inetd process. To restart inetd run ps | grep inetd to determine the process ID for the inetd process. The output of the command will be something like 1299 1299 busybox inetd, and the process ID is 1299. Then run kill -HUP (kill -HUP 1299 in this example) and you\u0026rsquo;ll then be able to access the host via SSH. OR\n6b) /sbin/services.sh restart\nTip - with some applications like WinSCP, the default encryption cipher used is AES. If you change that to Blowfish you will likely see significantly faster transfers.\nChanging the port for SSH\nTo change the port for SSH, edit the file /etc/services and change the SSH port listed in the file. Save the file and repeat step 6 above.\nEnable Telnet\nThe steps are the same as with SSH, but you\u0026rsquo;ll remove the # from the 2 telnet entries in /etc/inetd.conf. Enabling telnet is not recommended if security is a concern.\nYou can also download an oem.tgz file which will enable SSH (and FTP). Copy the file to a datastore with the VI client and then to bootbank with the command cp /vmfs/volumes/\u0026lt;datastore\u0026gt;/oem.tgz /bootbank/oem.tgz and then reboot.\nTaken from: http://www.vm-help.com/esx40i/ESXi_enable_SSH.php\n","date":"2009-08-01T22:38:15Z","permalink":"/posts/2009-08-02-esxi-3-5-enable-ssh-and-telnet/","title":"[ESXi 3.5+] Enable SSH and Telnet"},{"content":"If creating an FreeNAS VM, choose Windows Vista (32bit) as VM Machine, as it will use the Intel E1000 NIC which does give you about double network performance.\nDON\u0026rsquo;T FORGET TO CHANGE BACK VM TYPE TO LINUX (32bit) BEFORE POWERING ON!!!!\nTaken from: http://www.network0.org/2008/11/18/on-freenas-and-esx-performance/\n","date":"2009-07-31T21:44:30Z","permalink":"/posts/2009-07-31-freenas-on-esxi/","title":"FreeNAS on ESXi"},{"content":"Download:\nSoftClient: http://wikis.sun.com/display/SRS5/Home#tab:SRS-5-Documentation\nConfiguration:\nPoint a web browser at the Sun Ray server. http://:1660. You will then need to provide the administrative credentials to log into the site. Once into the site you need take the following steps:\nClick on the Advanced Tab Click on the Systems Policy Sub Tab Check the Software Client Access check box Click on Save Restart the Server - Click on the servers tab\ntick the checkbox in front of your server name click on cold restart The system will go through a dialog about the server restarting.\nDone!\nTaken from: http://blogs.sun.com/acworkma/entry/how_to_configure_srss_4\n","date":"2009-07-30T10:30:59Z","permalink":"/posts/2009-07-30-srss-4-2-how-to-enable-softclient-on-sunray-server-4-2/","title":"[SRSS 4.2] How to enable SoftClient on Sunray Server 4.2?"},{"content":"Download\nSun Ray Windows Connector (SRWC) 2.2 http://wikis.sun.com/display/SRS5/Home#tab:SRS-5-Documentation\nPatches for SRWC2.2 http://www.sun-rays.org/srss.html#patches\nPreparation:\nCreate a group of the connector proxy to run as\n# groupadd utsrwc Installation:\n1.) Got root?\nsu 2.) Extract the software:\n# unzip srwc_2.2_solaris.zip 3.) Run the installer\n# ./srwc_2.2/installer Accept the license Enter the name of the group we just created - utsrwc 4.) Run the automatic configuration script\n# /opt/SUNWuttsc/sbin/uttscadm -c 5.) Restart the Sun Ray Server Software\n# /opt/SUNWut/sbin/utrestart -c Note: Now is when we would apply patches. Since this a new release there are not any yet.\nConfiguration:\nUse the web interface for the Sun Ray server to configure the Sun Ray server to present windows desktops. Log into your web admin port http://:1660. The username is admin and the password is the one you gave it during set up.\nClick on the advanced tab Click on the kiosk mode tab Click on the edit button We need to create our kiosk mode as the windows connector.\nChanged the drop down to Sun Ray Connector for Windows OS Type the DNS name or IP of the windows host in the arguments field Click on Ok At this point you will have a kiosk mode defined and then you will need to tell the server when to use it. This is accomplished by using the the System Policy to turn Kiosk Mode on.\nClick on the advanced tab Click on the System Policy Sub Tab Click on the enable kiosk mode under card users Click on enable kiosk mode under non card users Click on the Save button Changing the system policy requires a restart of the Sun Ray Services\nClick on the Servers Tab tick the checkbox in front of your server name click on cold restart\nThe system will go through a dialog about the server restarting. At this point our system is configured to present a windows desktop.\nPersonal Note:\nYou can easily add USB functions or Different Kiosk Settings for different Tokens\nTaken from: http://blogs.sun.com/acworkma/entry/how_to_install_the_sun\n","date":"2009-07-30T10:27:22Z","permalink":"/posts/2009-07-30-srss-4-2-how-to-install-sun-ray-windows-connector-2-2-on-solaris-10/","title":"[SRSS 4.2] How to install Sun Ray Windows Connector 2.2 on Solaris 10?"},{"content":"Download\nSun Ray Server Software (SRSS) 4.2 http://wikis.sun.com/display/SRS5/Home#tab:SRS-5-Documentation Patches for SRSS4.2 http://www.sun-rays.org/srss.html#patches\nPreparation:\nSolaris Version: SRSS 4.2 requires Solaris 05/09 (u7) verify you have the correct version.\n#cat /etc/release\nSolaris 10 5/09 s10x_u7wos_08 X86\nCopyright 2009 Sun Microsystems, Inc. All Rights Reserved.\nUse is subject to license terms.\nAssembled 30 March 2009\nInstallation:\n1.) Got root?\nsu\n2.) Extract the software:\n# unzip srss_4.2_solaris.zip 3.) Install Java (SRSS 4.2 needs java 1.6 or higher.)C\nCheck your java version with the following command:\n# java -version Install java 1.6 on your system. The script is chip dependent. Pick x64 or Sparc\n# ./srss_4.2/Supplemental/Java_Runtime_Environment/Solaris/jre-6u13-solaris-i586.sh # mv jre1.6.0_13/ /usr/jdk/ # rm /usr/java # ln -s /usr/jdk/jre1.6.0_13/ /usr/java 4.) Install Apache Tomcat\n# /usr/sfw/bin/gtar -xvz -C /opt -f srss_4.2/Supplemental/Apache_Tomcat/apache-tomcat-5.5.20.tar.gz # ln -s /opt/apache-tomcat-5.5.20 /opt/apache-tomcat 5.) Install the Sun Ray Server Software\n# ./srss_4.2/utinstall take all of the defaults\nNote: Now is when we would apply patches. Since this a new release there are not any yet.\n# reboot 6.) Configure the Sun Ray Server Software:\n# /opt/SUNWut/sbin/utconfig Take all of the defaults except for: Enable remote server administration? (y/[n])? y Configure Sun Ray Kiosk Mode? (y/[n])? y #reboot 7.) Configure the parms file and tell the server what firmware to offer out\n# mkdir /tftpboot # vi /tftpboot/srssconfig The file should look like the following:\nservers= # /opt/SUNWut/sbin/utfwadm -A -a -V -i /tftpboot/srssconfig -f /opt/SUNWut/lib/firmware_gui 8.) Turn on LAN connections:\n# /opt/SUNWut/sbin/utadm -L on # /opt/SUNWut/sbin/utrestart -c At this point you have a basic Sun Ray server up and running. Any Sun Rays on the network should be displaying the Solaris log in and you should be able to log into your Solaris server through a Sun Ray.\nPersonal Notes:\nI did use a second NIC for the SunRay, so I did configure an pcn1 with 192.168.128.1 on static on Solaris 10 installation.\nTherefore I need to reconfigure SSRSS4.2 to use that:\n# /opt/SUNWut/sbin/utadm -l # show SRSS config LAN connections: On Sun Ray interconnect framework is not configured # /opt/SUNWut/sbin/utadm -r # remove SRSS Network Config Sun Ray interconnect framework is not configured # /opt/SUNWut/sbin/utadm -a pcn1 # configure SRSS for pcn 1 #got an error here as it was already configured during Solaris 10 installation - so lets remove that: # mv /etc/hostname.pcn1 /etc/hostname.pcn1.bak # /opt/SUNWut/sbin/utadm -a pcn1 # try again and it works! Taken from: http://blogs.sun.com/acworkma/entry/how_to_build_a_sun2\n","date":"2009-07-30T10:18:54Z","permalink":"/posts/2009-07-30-srss-4-2-how-to-install-sunray-server-4-2-on-solaris-10/","title":"[SRSS 4.2] How to install Sunray Server 4.2 on Solaris 10?"},{"content":" Create kiosk session configuration\nIn SRCC Web Interface\nBack it up\n# cd # Make sure your are in a reasonable directory to store your configurations # PATH=${PATH}:/opt/SUNWut/sbin # Save yourself (and me) some typing # utkiosk -e session -s \u0026gt; UserSession.conf If you have configured applications, also save the application list to a file: # utkiosk -e session -a \u0026gt; UserSessionApps.list Store your kiosk session configuration in the Sun Ray data store.\nUse a name that starts with a capital letter - all-lowercase names are reserved. If you don\u0026rsquo;t need an application list, you can simply upload your UserSession.conf file like this: # utkiosk -i UserSession -f UserSession.conf If you did create an application list, the command looks like this: # utkiosk -i UserSession -f UserSession.conf -A UserSessionApps.list Configure individual tokens to use this kiosk session configuration.\nHere is how to configure one of this configurations to a selected, registred (!) Token OR DTU. How to register: # utuser -a \u0026#34;CleverCard.0123456789,localhost,0,John Doe,\u0026#34; Now you can assign the UserSession configuration to the token: # utkioskoverride -r CleverCard.0123456789 -s kiosk -c UserSession Note: This will enable Kiosk Mode for this token, even if it isn\u0026rsquo;t enabled globally.\nIf you have stored multiple session configurations, you can view them using: # utkiosk -l session UserSession The session configuration is the default kiosk configuration, which is used for all kiosk session that haven\u0026rsquo;t been assigned an override.\nExample UserSession.conf for Windows Connector WITH USBTool:\nKIOSK_SESSION=uttsc\rKIOSK_SESSION_TIMEOUT_DETACHED=12000\rKIOSK_SESSION_ARGS=-r disk:USBDRVS=$HOME/USBDRVS 192.168.1.1 Taken from: http://blogs.sun.com/joergb/entry/using_different_kiosk_sessions_for\n","date":"2009-07-30T10:03:19Z","permalink":"/posts/2009-07-30-srss-4-1-how-to-use-different-kiosk-sessions-for-different-tokens/","title":"[SRSS 4.1+] How to use different Kiosk Sessions for different tokens"},{"content":"Download this: http://blogs.sun.com/danielc/resource/usbdrived\nchmod +x ./usbdrived install Using it with Windows Connector:\nThe Argument is: -r disk:USBDRVS=$HOME/USBDRVS 192.168.1.1 - where you should replace the IP Adress with your Terminal Server\nNotes:\nAfter adding a Drive, it can take up nearly a Minute until it comes \u0026ldquo;online\u0026rdquo;! The SunRay 1 use USB 1.1 - so that thing is quite slowly! Troubleshooting:\nCan you see usbdrived running in your Solaris session? (ps -ef | grep usbdrived) Can you see a file called \u0026ldquo;Attaching USB Drives to your Sun Ray README.txt\u0026rdquo; on your Solaris desktop? Did you install it properly? If so, can you see and what permissions does this have:\n/usr/dt/config/Xsession.d/1350.usbdrived (It should be executable by everybody, something like rwxr-xr-x) When you plug in a USB drive, does it mount in /tmp/SUNWut/mnt/\u0026lt;username\u0026gt; under Solaris? Under Windows, can you see in \u0026ldquo;My Computer\u0026rdquo; a Network drive (In \u0026ldquo;Others\u0026rdquo;) called \u0026ldquo;USBDRVS\u0026rdquo; and is there a file within that explains usage? Have you hit refresh in file manager when looking at your USBDRVS mount? Most important and useful of all: Do any mounts show up if on a Solaris Sun Ray session you issue: /opt/SUNWut/bin/utdiskadm -l Taken from: http://blogs.sun.com/danielc/entry/a_usb_drive_daemon_for1\n","date":"2009-07-30T09:55:46Z","permalink":"/posts/2009-07-30-how-to-use-sunray-usb-ports-on-solaris-10/","title":"[ SRSS 4.1+] How to use SunRay USB Ports on Solaris 10?"},{"content":"To add a user in Solaris 10:\nuseradd -c ‘Full Name’ -d /export/home/username -m -s /bin/bash username (to add an admin user, add -g staff in there)\nThen add a password for the user:\npasswd username Under Solaris, there is no sudo.\nUse su to become superuser.\n","date":"2009-07-29T10:28:57Z","permalink":"/posts/2009-07-29-solaris-10/","title":"Solaris 10"},{"content":"Configure NIC:\nifconfig -a eth0 192.168.1.132 netmask 255.255.255.128 route add default gw 192.168.1.129 Set NIC down / up:\nifconfig eth0 down ifconfig eth0 up Restart Networking:\n/etc/init.d/networking restart ","date":"2009-07-26T08:36:11Z","permalink":"/posts/2009-07-26-linux-networking/","title":"Linux Networking"},{"content":"Hi Guys,\nthis Guide did cost me a lot of nerves and time, but its finally complete!\nThe most of this stuff is ripped from this nearly perfect guide.\nBut problem is, I did had some difficulties setting it up and got into serious troubles about dhcp (not working), dpkg (screwed up totaly) and other nasty things.\nIn the end I did this installation about 4 times, but now its working, and guess what? I did do complete notes! And I\u0026rsquo;m going to share these with you! ^^.\nSo, thats the end of the setup:\nAn Ubuntu JeOS Server 9.04 i386 with Vmware Tools, running on a ESXi 4.0 machine, with an SunRay Server Software (SRSS) Version 4.1!\nNow, thats somethin\u0026rsquo; ain\u0026rsquo;t it?\nOk, lets rock!\nUbuntu Setup\nDownload Ubuntu-Server 9.04 i386 image ( http://www.ubuntu.com/getubuntu/download-server ) Upload it onto your VMWare machine Setup an new VM (Custom, Ubuntu Linux(32bit!), 2(!!) NIC Cards, Dynamic (SIZE) HDD(!!!)) Install Ubuntu Server with JeOS (so, boot the VM, choose your Language on the inital Ubuntu Setup Screen, press F4 and chose the \u0026ldquo;Minimal Virtual Machine\u0026rdquo; and then press Install Ubuntu) Just an normal installation, you can choose the \u0026ldquo;Base System\u0026rdquo; and \u0026ldquo;OpenSSH Server\u0026rdquo; as additional \u0026ldquo;apt-get\u0026rdquo;\u0026rsquo;s. After installation you need to install gdm:\nsudo apt-get install ubuntu-desktop\nsudo apt-get install gdm\nsudo /etc/init.d/gdm start\nsudo dpkg-reconfigure xserver-xorg Just do an quick sudo apt-get update, sudo apt-get upgrade to see wheter everything is alright. Thats it, your Ubuntu Server is working! SRSS 4.1 Setup\n0) Got root?\nsudo su\nGet the required packages apt-get install libldap-2.4-2 libmotif3 module-assistant tk8.4 tomcat5.5 sun-java6-jre\napt-get install ldap-utils dhcp3-server nscd gawk iputils-ping pdksh unzip alien libgdbm3\napt-get install libx11-6 libfreetype6 libsasl2-2 libxt6 zlib1g gdm devscripts xkb-data-legacy\napt-get install xfonts-base atftpd xfonts-100dpi xfonts-75dpi xfonts-cyrillic wget ed 1 1/2) REBOOT!\nreboot\nDownload and Unzip SRSS\ncd /tmp/srss\ndownload SRSS 4.1 package from sun.com (doesn\u0026rsquo;t matter, I used the SUSE Enterprise Package, should be all the same!)\nunzip srss_4.1_linux.zip\nConvert all .rpm to .deb packages\nfind srss_4.1 -name \u0026ldquo;SUNW*i386.rpm\u0026rdquo; -exec alien -d {} ;\nInstall the .deb packages\nfind . -name \u0026ldquo;sunw*deb\u0026rdquo; -exec dpkg -i {} ;\nApply Patches\nwget -O /tmp/srss/Patch-SUNWut41-1.txt http://wiki.sun-rays.org/images/6/67/Patch-SUNWut41-1.txt\nwget -O /tmp/srss/Patch-SUNWutref.txt http://wiki.sun-rays.org/images/1/15/Patch-SUNWutref.txt\nwget -O /tmp/srss/Patch-SUNWkio.txt http://wiki.sun-rays.org/images/f/ff/Patch-SUNWkio.txt\ncd /opt\npatch -p0 \u0026lt;/tmp/srss/Patch-SUNWut41-1.txt patch -p0 \u0026lt;/tmp/srss/Patch-SUNWutref.txt patch -p0 \u0026lt;/tmp/srss/Patch-SUNWkio.txt 6) init.d startup-script wget -O /etc/init.d/zsunray-init http://wiki.sun-rays.org/images/3/33/Zsunray-init41.sh chmod 755 /etc/init.d/zsunray-init update-rc.d zsunray-init defaults 99 01 7) more preparations ln -s /usr/lib/jvm/java-6-sun/jre /etc/opt/SUNWut mkdir -p /var/dt rm -f /etc/opt/SUNWut/gmSignature touch /etc/opt/SUNWut/gmSignature chmod 644 /etc/opt/SUNWut/gmSignature 8) links global xkb settings into SRSS mv /opt/SUNWut/lib/xkb /opt/SUNWut/lib/xkb.bak ln -s /usr/share/X11/xkb /opt/SUNWut/lib cp -a /opt/SUNWut/lib/xkb.bak/xkbtable.map /opt/SUNWut/lib/xkb/ ln -s /var/lib/xkb /opt/SUNWut/lib/xkb/compiled ln -s /usr/bin/xkbcomp /opt/SUNWut/lib/xkb/xkbcomp 9) start utsyscfg to let it create some links (ignore errors) /etc/init.d/utsyscfg start /etc/init.d/utsyscfg stop 10) replace $PLATFORM variables with utsyscfg created in /etc/opt/SUNWut/lib/ sed -i -e \u0026rsquo;s/$PLATFORM/i686/\u0026rsquo; /etc/opt/SUNWut/xinitrc.d/0100.SUNWut sed -i -e \u0026rsquo;s/$PLATFORM/i686/\u0026rsquo; /etc/pam.d/gdm 11) modify /etc/pam.d/gdm move all @include statements in /etc/pam.d/gdm to the bottom comment out all pam entries referring to pam_sunray_hotdesk.so as Hotdesking seems to be currently broken 12) modify /etc/gdm/gdm.conf. it should contains following things in [daemon]: VTAllocation=false DynamicXServers=true Greeter=/usr/lib/gdm/gdmgreeter RebootCommand= HaltCommand= XKeepsCrashing=/etc/opt/SUNWut/gdm/XKeepsCrashing.sunray if unsure, use this version: (USE IT!) wget -O /etc/gdm/gdm.conf http://wiki.sun-rays.org/images/0/05/Gdm41.txt 13) link /etc/gdm/custom.conf ln -sf /etc/gdm/gdm.conf /etc/gdm/custom.conf 14) empty dhcpd.conf if you haven\u0026rsquo;t used dhcp yet mv /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.sample touch /etc/dhcp3/dhcpd.conf 15) link libutdev.so.1 into /usr/lib to have USB mounting working properly ln -s /opt/SUNWut/lib/libutdev.so.1 /usr/lib/ ldconfig 16) Only for x64 17 1/2) give second eth card dhcpd rights: vi /etc/default/dhcp3-server for example: INTERFACES=\u0026ldquo;eth1\u0026rdquo; 17) if doing a clean new install, go and configure SRSS /opt/SUNWut/sbin/utadm -A # Interface, for example eth1\n/opt/SUNWut/sbin/utconfig\nif asked during utconfig make sure to answer /usr/share/tomcat5.5 for the tomcat path everything default EXCEPT tomcat path and remote server admin on ON check dhcpd.conf (if you want DHCP)\nmake sure that /etc/dhcp3/dhcpd.conf contains the include statements for your added subnet/interface\ntry: /etc/init.d/dhcp3-server restart\nIf its NOT working, or you get problems with permissions, build your own dhcpd.conf a new! ;-): mv /etc/dhcpd/dhcpd.conf /etc/dhcpd/dhcpd.bak\ncat /etc/opt/SUNWut/net/dhcp/SunRay-options \u0026gt; /etc/dhcp3/dhcpd.conf\ncat /etc/opt/SUNWut/net/dhcp/SunRay-interface-eth1 \u0026raquo; /etc/dhcp3/dhcpd.conf\npatch and build the required kernel modules\na) prepare for kernel module building:\nm-a -t prepare b) download and apply patches\nwget -O /tmp/utadem.patch http://wiki.sun-rays.org/images/0/0c/Utadem-4.1-50.nww.patch.txt\nwget -O /tmp/utio.patch http://wiki.sun-rays.org/images/5/5d/Utio-4.1-50.nww.patch.txt\nwget -O /tmp/utdisk.patch http://wiki.sun-rays.org/images/e/e0/Utdisk-4.1-50.nww.patch.txt\ncd /usr/src/SUNWut\npatch -p0 \u0026lt;/tmp/utadem.patch patch -p0 \u0026lt;/tmp/utio.patch patch -p0 \u0026lt;/tmp/utdisk.patch c) compile kernel modules make -C /usr/src/SUNWut/utadem clean default install make -C /usr/src/SUNWut/utio clean default install make -C /usr/src/SUNWut/utdisk clean default install depmod -a 20) add an Xsession.d job for SRSS setup on Xnewt start wget -O /etc/X11/Xsession.d/10SUNWut http://wiki.sun-rays.org/images/d/d5/10SUNWut.41b.sh 21) check that /etc/X11/xorg.conf contains correct FontPath statements Section \u0026ldquo;Files\u0026rdquo; FontPath \u0026ldquo;/usr/share/fonts/X11/misc\u0026rdquo; FontPath \u0026ldquo;/usr/share/fonts/X11/cyrillic\u0026rdquo; FontPath \u0026ldquo;/usr/share/fonts/X11/100dpi/:unscaled\u0026rdquo; FontPath \u0026ldquo;/usr/share/fonts/X11/75dpi/:unscaled\u0026rdquo; FontPath \u0026ldquo;/usr/share/fonts/X11/Type1\u0026rdquo; FontPath \u0026ldquo;/usr/share/fonts/X11/100dpi\u0026rdquo; FontPath \u0026ldquo;/usr/share/fonts/X11/75dpi\u0026rdquo; FontPath \u0026ldquo;/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType\u0026rdquo; EndSection 22) globally enable the XKB exentsion for all sessions /opt/SUNWut/bin/utxconfig -a -k on 23) install and setup pulseaudio for audio support a) install required packages apt-get install pavucontrol pavumeter paman padevchooser paprefs pulseaudio apt-get install pulseaudio-utils pulseaudio-module-gconf pulseaudio-module-hal apt-get install pulseaudio-module-x11 libasound2-plugins gstreamer0.10-pulseaudio apt-get install ubuntu-sounds pulseaudio-esound-compat alsaplayer-alsa b) creation of global utpulse.pa file in /opt/SUNWut/lib with the following content load-module module-oss device=UTAUDIODEV playback=1 record=1 fragment_size=8192 load-module module-native-protocol-unix c) creation of pulseaudio setup script 66SUNW-pulseaudio in /etc/X11/Xsession.d with the following content: set +e pkill -U $USER esd pkill -U $USER pulseaudio set -e unset LD_PRELOAD if [ ! -d ${HOME}/.pulse ] ; then mkdir ${HOME}/.pulse fi # create pulseaudio configuration for utaudio PULSECONF=${HOME}/.pulse/default.pa sed \u0026ldquo;s|UTAUDIODEV|$UTAUDIODEV|g\u0026rdquo; /opt/SUNWut/lib/utpulse.pa \u0026gt; ${PULSECONF}\n# create asoundrc for pulseaudio redirection\nASOUNDRC=${HOME}/.asoundrc\necho -n \u0026gt; ${ASOUNDRC}\necho \u0026ldquo;pcm.!default { \u0026quot; \u0026raquo; ${ASOUNDRC}\necho \u0026quot; type pulse\u0026rdquo; \u0026raquo; ${ASOUNDRC}\necho \u0026ldquo;}\u0026rdquo; \u0026raquo; ${ASOUNDRC}\necho \u0026ldquo;ctl.!default { \u0026quot; \u0026raquo; ${ASOUNDRC}\necho \u0026quot; type pulse\u0026rdquo; \u0026raquo; ${ASOUNDRC}\necho \u0026ldquo;}\u0026rdquo; \u0026raquo; ${ASOUNDRC}\nlink tftpd server directory\nln -s /tftpboot /var/lib\nmanually fix the Xsetup file\nIt seems that the /etc/opt/SUNWut/gdm/SunRayInit/helpers/Xsetup in SRSS 4.1 contains a minor,\nbut important bug which prevents commands like \u0026lsquo;utwho\u0026rsquo; and \u0026lsquo;utfwload\u0026rsquo; from working properly on some Linux distros.\nTo fix this script you have to manually edit it and make sure that the very first like contain the\nexclamation mark (!) as shown here:\n#!/bin/ksh -p\nmanually fix the finishsession file\nIt seems that the /opt/SUNWkio/lib/finishsession file in SRSS 4.1 contains a minor bug which prevents the\nPOST-execution scripts from being executed. To fix this script you have to manually edit it and make sure\nthat the line with the if check for \u0026ldquo;$theSessionUserDynDir\u0026rdquo; actually contains the \u0026ldquo;$\u0026rdquo; sign. if [ -d \u0026ldquo;$theSessionUserDynDir\u0026rdquo; ]\nfinally you can start the SRSS by issuing the following commands\n/etc/init.d/gdm restart\n/etc/init.d/zsunray-init stop\n/etc/init.d/zsunray-init start\nget server \u0026ldquo;really\u0026rdquo; online\n/opt/SUNWut/sbin/utadm -l # prints network config\n/opt/SUNWut/sbin/utadm -L on # gets server online\n/opt/SUNWut/sbin/utrestart # needed to get server online\nreboot?\nCan always help! You know the saying \u0026ldquo;Linux: BE ROOT! Microsoft: RE-BOOT!\u0026rdquo; ? 😉\nNOTES:\n17) OLD config with subnet, you should NOT use that:\n/opt/SUNWut/sbin/utadm -A # Subnet for example 192.168.2.0\nutadm working example:\n/opt/SUNWut/sbin/utadm -a eth1\n### Configuring /etc/nsswitch.conf\n### Configuring Service information for Sun Ray\n### configuring eth1 interface at subnet 192.168.128.0\nSelected values for interface \u0026ldquo;eth1\u0026rdquo;\nhost address: 192.168.128.1\nnet mask: 255.255.255.0\nnet address: 192.168.128.0\nhost name: SunRayServer-eth1\nnet name: SunRay-eth1\nfirst unit address: 192.168.128.16\nlast unit address: 192.168.128.240\nauth server list: 192.168.128.1\nfirmware server: 192.168.128.1\nrouter: 192.168.128.1\nAccept as is? ([Y]/N): Y\n### successfully setup \u0026ldquo;/etc/opt/SUNWut/net/hostname.eth1\u0026rdquo; file\nWarning: IP address \u0026ldquo;192.168.128.1\u0026rdquo; appears in \u0026ldquo;/etc/hosts\u0026rdquo; with another hostname, fix? ([Y]/N): Y\n### successfully setup \u0026ldquo;/etc/hosts\u0026rdquo; file\n### successfully setup \u0026ldquo;/etc/opt/SUNWut/net/netmasks\u0026rdquo; file\n### successfully setup \u0026ldquo;/etc/networks\u0026rdquo; file\n### finished install of \u0026ldquo;eth1\u0026rdquo; interface\n### Configuring firmware version for Sun Ray\nAll the units served by \u0026ldquo;SunRayServer\u0026rdquo; on the 192.168.128.0\nnetwork interface, running firmware other than version\n\u0026ldquo;4.1_50_2008.09.25.12.37\u0026rdquo; will be upgraded at their next power-on. ### Configuring Sun Ray Logging Functions\nDHCP is not currently running, should I start it? ([Y]/N): Y\n### Error: unable to start dhcp services.\nPlease restart dhcp manually after utadm has completed.\nworking utadm example:\nConfigure Sun Ray Web Administration? ([y]/n)? y\nEnter Apache Tomcat installation directory [/opt/apache-tomcat]: /usr/share/tomcat5.5\nEnter HTTP port number [1660]: 1660\nEnable secure connections? ([y]/n)? y\nEnter HTTPS port number [1661]: 1661\nEnter Tomcat process username [utwww]: utwww\nEnable remote server administration? (y/[n])? y\nConfigure Sun Ray Kiosk Mode? (y/[n])? n\nConfigure this server for a failover group? (y/[n])? n Update 139550-02 and 139727-01\ndownload patches\ncd /tmp\n\u0026hellip;. (download the patch update for the core package from [2]) http://sunsolve.sun.com/pdownload.do?target=139550-02\u0026method=h\n\u0026hellip;. (download the uttsc update package from [3] http://sunsolve.sun.com/pdownload.do?target=139727-01\u0026method=h\nunzip 139550-02.zip\nunzip 139727-01.zip\nconvert\nfind 139550-02 139727-01 -name \u0026ldquo;SUNW*i386.rpm\u0026rdquo; -exec alien -d {} ;\ninstall\nfind . -name \u0026ldquo;sunw*deb\u0026rdquo; -exec dpkg -i {} ;\napply patches\nwget -O /tmp/Patch-patch.txt http://wiki.sun-rays.org/images/6/6f/Patch-patch-139550-02.txt\nwget -O /tmp/Patch-SUNWutref.txt http://wiki.sun-rays.org/images/1/15/Patch-SUNWutref.txt\ncd /opt/\npatch -p0 \u0026lt;/tmp/Patch-SUNWutref.txt patch -p0 \u0026lt;/tmp/Patch-patch.txt 5) apply \u0026ldquo;old\u0026rdquo; patches manually fix the Xsetup file It seems that the /etc/opt/SUNWut/gdm/SunRayInit/helpers/Xsetup in SRSS 4.1 contains a minor, but important bug which prevents commands like \u0026lsquo;utwho\u0026rsquo; and \u0026lsquo;utfwload\u0026rsquo; from working properly on some Linux distros. To fix this script you have to manually edit it and make sure that the very first like contain the exclamation mark (!) as shown here: #!/bin/ksh -p manually fix the finishsession file It seems that the /opt/SUNWkio/lib/finishsession file in SRSS 4.1 contains a minor bug which prevents the POST-execution scripts from being executed. To fix this script you have to manually edit it and make sure that the line with the if check for \u0026ldquo;$theSessionUserDynDir\u0026rdquo; actually contains the \u0026ldquo;$\u0026rdquo; sign. if [ -d \u0026ldquo;$theSessionUserDynDir\u0026rdquo; ] 6) restart SRSS /etc/init.d/zsunray-init stop /etc/init.d/zsunray-init start 7) update the firmware in /tftpboot (/opt/SUNWut/sbin/utfwadm -A -a -N all) /opt/SUNWut/sbin/utfwadm -A -a -n all OR 7b) update the firmware in /tftpboot for GUI firmware (/opt/SUNWut/sbin/utfwadm -A -a -N all -f /opt/SUNWut/lib/firmware_gui) /opt/SUNWut/sbin/utfwadm -A -a -n all -f /opt/SUNWut/lib/firmware_gui 8) restart dhcpd /etc/init.d/dhcp3-server restart Update 139550-01\ndownload patches\ncd /tmp\n\u0026hellip;. (download the patch update from http://sunsolve.sun.com/pdownload.do?target=139550-01\u0026method=h )\nunzip 139550-01.zip\nconvert\nfind 139550-01 -name \u0026ldquo;SUNW*i386.rpm\u0026rdquo; -exec alien -d {} ;\ninstall\nfind . -name \u0026ldquo;sunw*deb\u0026rdquo; -exec dpkg -i {} ;\napply patches\nwget -O /tmp/Patch-patch.txt http://wiki.sun-rays.org/images/5/51/Patch-patch.txt\nwget -O /tmp/Patch-SUNWutref.txt http://wiki.sun-rays.org/images/1/15/Patch-SUNWutref.txt\ncd /opt/\nsudo patch -p0 \u0026lt;/tmp/Patch-SUNWutref.txt sudo patch -p0 \u0026lt;/tmp/Patch-patch.txt 5) apply \u0026ldquo;old\u0026rdquo; patches manually fix the Xsetup file It seems that the /etc/opt/SUNWut/gdm/SunRayInit/helpers/Xsetup in SRSS 4.1 contains a minor, but important bug which prevents commands like \u0026lsquo;utwho\u0026rsquo; and \u0026lsquo;utfwload\u0026rsquo; from working properly on some Linux distros. To fix this script you have to manually edit it and make sure that the very first like contain the exclamation mark (!) as shown here: #!/bin/ksh -p manually fix the finishsession file It seems that the /opt/SUNWkio/lib/finishsession file in SRSS 4.1 contains a minor bug which prevents the POST-execution scripts from being executed. To fix this script you have to manually edit it and make sure that the line with the if check for \u0026ldquo;$theSessionUserDynDir\u0026rdquo; actually contains the \u0026ldquo;$\u0026rdquo; sign. if [ -d \u0026ldquo;$theSessionUserDynDir\u0026rdquo; ] 6) restart SRSS /etc/init.d/zsunray-init stop /etc/init.d/zsunray-init start 7) update the firmware in /tftpboot (/opt/SUNWut/sbin/utfwadm -A -a -N all) /opt/SUNWut/sbin/utfwadm -A -a -n all OR 7b) update the firmware in /tftpboot for GUI firmware (/opt/SUNWut/sbin/utfwadm -A -a -N all -f /opt/SUNWut/lib/firmware_gui) /opt/SUNWut/sbin/utfwadm -A -a -n all -f /opt/SUNWut/lib/firmware_gui 8) restart dhcpd /etc/init.d/dhcp3-server restart Installing VMWare Tools\nhttp://chrysaor.info/?page=faq#ubuntu904_tools\nExtract of the Weblog mentioned above:\nOpen a terminal window and execute the following command to download the script:\rwget http://chrysaor.info/scripts/ubuntu904vmtools.sh\rNow run the script that installs VMware Tools (Warning: it will download some files):\rsudo bash ./ubuntu904vmtools.sh\rWhen the script promps for answers, just hit Enter as defaults are OK. If you\u0026#39;re using VMware Fusion, Server or Workstation, reboot the virtual machine and you are done. Cleaning up\nShrink VMware Image Files on Linux Appliances\nPosted in: Unix \\ Linux, Vmware by Nico Maas on July 16, 2009\nWorks only with dynamic HDDs!\nBackup! Remove old / unused Packages Remove downloaded Packages: sudo apt-get clean, Remove only old downloaded Packages: sudo apt-get autoclean “ZeroOut” unused Space: cat /dev/zero \u0026gt; zero.dat ; sync ; sleep 1 ; sync ; rm zero.dat Under GUI: “sudo vmware-toolbox” and use shrink on “/” Under VIClient: Defrag Additional:\nUsing Cisco Vlans and Trunks on VMWare ESXi 3.5/4\nPosted in: Cisco, Network, Vmware by Nico Maas on July 24, 2009\nDo you desperatly need to connect an real pc to just one VM? No problem! Here we go! All we need is an Switch with vlan Trunking. I used an Cisco c3560-poe8 for this, as it is my main work switch.\nSo you just need these snipets on the switch side:\n( Need to do this in enable mode and conf -t! )\nThis is going to activate ip dhcp snooping globaly on the switch\n(which means only marked ports are allowed to answer an dhcp request, thats important!)\nip dhcp snooping vlan 1-4094\rno ip dhcp snooping information option\rip dhcp snooping these are the vlans, one main, one “test” for the vm\nvlan 1\rname main\rvlan 999\rname test normal client port\ninterface FastEthernet0/1\rswitchport access vlan 1\rspanning-tree portfast vm client port which does access vlan 999\ninterface FastEthernet0/3\rswitchport access vlan 999\rspanning-tree portfast vm server port, which does access normal vlan 1, and does trunk the rest\nip dhcp snooping trust means, that this port is allowed to answer dhcp requests\ninterface FastEthernet0/7\rswitchport trunk encapsulation dot1q\rswitchport trunk native vlan 1\rswitchport trunk allowed vlan 1,999\rswitchport mode trunk\rip dhcp snooping trust\rend Thats it!\nOnly thing you need to do on the vm machine is to start vi\\vsphere client, go to configuration, network, create an new port group and insert the nic of the vmware machine you want to use on the switch port (here 3 on the c3560) – and set the port groups vlan id to 999. ( In my config, the eth0 is the \u0026ldquo;main\u0026rdquo; NIC and does do the normal Network Connection, eth1 is the \u0026ldquo;SUN\u0026rdquo; Port as configured above in the SRSS Part, so get the eth1 (Second NIC) into the vlan 999!)\nAnd then, you can do pxe, dhcp, sunray, and allll you want!\nSo, thats it finally!\nA REALLY BIG Thank you to all the authors of the howtos, guides, etc mentioned and unmentioned for helping me out. Without you, this would have been absoultly impossible! Thank you!!!\nNOTES:\nUSB Mount:\n/tmp/SUNWut/sessions/11/unit/dev/dsk/disk1 /usb\n","date":"2009-07-24T07:47:51Z","permalink":"/posts/2009-07-24-install-sunray-server-software-4-1-on-ubuntu-jeos-server-9-04-i386-running-under-esxi-4-0/","title":"Install SunRay Server Software 4.1 on Ubuntu JeOS Server 9.04 i386 (running under ESXi 4.0)"},{"content":"Open up Start, Run (or press Windows Button on your Keyboard + R) and enter control userpasswords2\nHit Enter.\nUnset the Option \u0026ldquo;User need to enter username and password\u0026rdquo; and apply that.\nEnter the username and password you want your pc to \u0026ldquo;log you in\u0026rdquo; onto every boot.\n","date":"2009-07-24T07:20:39Z","permalink":"/posts/2009-07-24-how-to-set-automatic-login-on-windows-xp-server-2003/","title":"How to set automatic login on Windows XP / Server 2003?"},{"content":"Hello there,\nare you one of these ppl using ESXi on a small server/pc under your desk to evaluate / develop software?\nAre you one of these fitting the whole ESXi World into one machine, one one IDE / SATA drive and without any other VMWare Administrative Instances as your Vi\\Vsphere Client? Are you one of these ppl that does not have one real 10 Gig Interface for each VM Machine into its server - but do desperatly need to connect an real pc to just one VM? No problem! Here we go! All we need is an Switch with vlan Trunking. I used an Cisco c3560-poe8 for this, as it is my main work switch.\nSo you just need these snipets on the switch side:\nThis is going to activate ip dhcp snooping globaly on the switch\n(which means only marked ports are allowed to answer an dhcp request, thats important!)\nip dhcp snooping vlan 1-4094\rno ip dhcp snooping information option\rip dhcp snooping these are the vlans, one main, one \u0026ldquo;test\u0026rdquo; for the vm\nvlan 1\rname main\rvlan 999\rname test normal client port\ninterface FastEthernet0/1\rswitchport access vlan 1\rspanning-tree portfast vm client port which does access vlan 999\ninterface FastEthernet0/3\rswitchport access vlan 999\rspanning-tree portfast vm server port, which does access normal vlan 1, and does trunk the rest\nip dhcp snooping trust means, that this port is allowed to answer dhcp requests\ninterface FastEthernet0/7\rswitchport trunk encapsulation dot1q\rswitchport trunk native vlan 1\rswitchport trunk allowed vlan 1,999\rswitchport mode trunk\rip dhcp snooping trust\rend Thats it!\nIts that easy!\nOnly thing you need to do on the vm machine is to start vi\\vsphere client, go to configuration, network, create an new port group and insert the nic of the vmware machine you want to use on the switch port (here 3 on the c3560) - and set the port groups vlan id to 999.\nAnd then, you can do pxe, dhcp, sunray, and allll you want!\nCheers,\nNico\n","date":"2009-07-24T07:17:40Z","permalink":"/posts/2009-07-24-using-cisco-vlans-and-trunks-on-vmware-esxi-3-54/","title":"Using Cisco Vlans and Trunks on VMWare ESXi 3.5/4"},{"content":"As I have been using PXE now for the last days, I wanted to build myself up some nice PXE Images to load from the Network. And the one thing I wanted for sure, was an Bart PE PXE Boot. So I searched the Net, found two really good guides ( Guide 1, Guide 2 ) and I am going to rewrite these Guides now here to set you up with an 100% working tutorial on \u0026ldquo;How to PXE Boot Bart PE\u0026rdquo;.\nWhat you need:\ntftpd32 BartPE / PE Builder Windows Server 2003 CD with SP1 (IMPORTANT! WITHOUT SP1 IT WON\u0026rsquo;T WORK!) Syslinux (optional) We do start with the file preparations:\n- Creating the BartPE CD\nCopy your Windows Server 2003 SP1 Cd onto your PC (lets say C:\\win2003),\ninstall PE Builder and start it. Enter C:\\win2003 as source,\ntell him to create an Iso Image called BartPE.iso and hit start.\nCongrats, you just created yourself an BartPE Boot CD with an Live Windows XP!\n- Preparing Boot Files\nYou now need to grap the needed Files like Bootloader and Stuff.\nSo create an new folder and go get these Files from C:\\win2003\\i386:\nNTDETECT.COM, SETUPLDR.EX_, STARTROM.CO_, STARTROM.N1_, RAMDISK.SY_ und RAMDISK.IN_ After you copied them, you need to extract them.\nOpen up an cmd Shell, cd to the folder with the copied Files and extract them all with the usage of\nExpand -r Filename (or Expand -r * should work as well)\nYou now need to rename some files.\nsetupldr.exe should be renamed to NTLDR startrom.n12 should be renamed to startrom.0\nNext thing is you need to create a textfile with the name winnt.sif with the following content: [SetupData] BootDevice = \u0026#34;ramdisk(0)\u0026#34; BootPath = \u0026#34;\\i386\\System32\\\u0026#34; OsLoadOptions = \u0026#34;/noguiboot /fastdetect /minint /rdexportascd /rdpath=BartPE.iso\u0026#34; And thats it with file preparation.\nYou can delete the files SETUPLDR.EX_, STARTROM.CO_, STARTROM.N1_, RAMDISK.SY_ und RAMDISK.IN_.\nAll the others are going into the tftboot Folder of the next step.\n- Setup up the tftpd32\nEasy as hell. Download, unzip.\nFor example C:\\tftpd32\nCreate the folder tftpboot within that.\nAnd now to the config. There are actually two working configurations:\nOne with the usage of the pxelinux.0, and one without it.\nWhich flavor to use is your choice.\nDifference: With pxelinux.0, you can build up an boot menu, without it you just only boot BartPE.\nBut first basics tftp config:\nstart tftpd32.exe in C:\\tftpd32 Server interfaces chose your NIC Press Settings Settings:\nBase Directory: C:\\tftpd32\\tftpboot Global Settings: TFTP Server [X] TFTP Client [ ] SNTP Server [ ] Syslog Server [ ] DHCP Server [X] Syslog Server: [ ] Save syslog message TFTPD Security: None TFTPD configuration: Timeout (seconds) 3 Max Retransmit 6 Tftp port 69 Local ports pool (nothing in here) Advanced TFTPD Options: [X] Option negotiation [ ] PXE Compatibility [X] Show Progress bar [X] Translate Unix file names [ ] Use TFTPD32 only on this interface [ ] Use anticipation window of 0 Bytes [X] Allow ´\\´ As virtual root [ ] Hide Window at startup [ ] Create “dir.txt” files [ ] Create md5 files [ ] Beep for long transfer Press Ok.\nGo to the DHCP Server tab and enter following Details depending on your Network configuration:\nIP Pool starting adress: Should be +1 of your NIC IP if you got no other PC in your network\nSize of Pool: Choose yourself how many clients you want to get in there. I picked 20, get no problems with leases\u0026hellip;\nBoot File: Depends on wheter you install with or without pxelinux.0. If with, you enter there pxelinux.0, if without the right thing is startrom.0\nRest: Set it appopriate to your network - and Press the big long \u0026ldquo;SAVE\u0026rdquo; Button!\nCopy the files from - Creating the BartPE CD and - Preparing Boot Files Step into the tftpboot Folder.\nYou should have there by now:\nNTLDR, startrom.0, startrom.com, ntdetect.com, winnt.sif, ramdisk.sys, ramdisk.inf, BartPE.iso Now lets start with the real thing, only do ONE of these both things:\n- without pxelinux.0\nReally Easy: Just be sure that you set DHCP Boot file to startrom.0. And thats it!\n- with pxelinux.0\nA little bit more challenging, but still easy:\nExtract the Syslinux-3.11.zip\nGet the file menu.c32 from com32/modules, copy to the tftpboot\nGet the file memdisk from root Folder, copy to the tftpboot\nGet the file pxelinux.0, copy to the tftpboot\nCreate an folder in the tftpboot with the name pxelinux.cfg\nCreate an file in the folder pxelinux.cfg with the name default (no File ending and such) with following content:\nDEFAULT menu.c32 TIMEOUT 300 ALLOWOPTIONS 0 PROMPT 0 MENU TITLE PXE Boot System label pebuilder MENU LABEL ^1: BartPE starten KERNEL startrom.0 label BootNormal MENU LABEL ^Boot Normal LOCALBOOT 0 Be sure that you set DHCP Boot file to pxelinux.0\nAnd thats it.\nNote that you can integrate many programs into BartPE! Check out their website.\nAnd do also note: It takes RAM on your client PC!\nNormally you should be Ok if your RAM is not smaller than the BartPE.iso + 64 MB.\nSo don\u0026rsquo;t over do it 😉\nHave fun, and thanks for the both guidelines, without them I would have never figured that all out!\nNotes:\nYou should be able to build BartPE also with an normal Windows XP CD (if it should be higher than SP1), but you still need the Bootfiles to come from Win XP Server SP1 Package (you can download that for free from Microsoft) (Never tested that way!) One did set \u0026ldquo;Anticipation window of 50000 bytes\u0026rdquo; in the Advanced Tftpd Settings and said that I would speed up tftp transfer. Well, for me, it did just kill the whole process. So I DO NOT recommend that - but maybe its only a flaw in the current tftpd version, so I keep that still in here as note. If you use Windows Server as DHCP, these settings has to be set for your scoop: -003 Router (gateway IP), -066 Boot Server Host name (tftp server ip) -067 Bootfile Name (pxelinux.0 or startrom.0) Keep an eye out for filenames upper and lowecases if you use Linux / Unix as server! (everything writen lowercase execept NTLDR and BARTPE.ISO) ","date":"2009-07-22T07:21:55Z","permalink":"/posts/2009-07-22-pxe-boot-bart-pe/","title":"PXE Boot Bart PE"},{"content":"This simple Delphi Program does \u0026ldquo;convert\u0026rdquo; Nero .nrg Files into the standard .iso format.\nIts Freeware - and more than that, also OpenSource!\nhttp://roland-illig.de/lang.delphi.nrg2iso.html\n","date":"2009-07-21T21:55:59Z","permalink":"/posts/2009-07-21-nrg2iso/","title":"nrg2iso"},{"content":"I came up with the website http://hddguru.com/ and found it to be very useful.\nIt does not only hold software like an Windows HDD Low Level Formating Tool or an Special Patched DOS Boot Disk, but also an big file database containing even more Software, Firmware Upgrades, Infos and a lot more!\n","date":"2009-07-21T06:38:27Z","permalink":"/posts/2009-07-21-low-level-format-of-an-usb-hdd-and-more/","title":"Low Level Format of an USB HDD and more"},{"content":"Two really useful pieces of programming code:\nMozBackup does Backup your Thunderbird, Firefox, etc Installations (even with commandline parameters (use it with rsync!!!)) under windows.\nhttp://mozbackup.jasnapaka.com/\nRocketdock is one of these new stylish docking bars as known from MacOS X. Together with the addon \u0026ldquo;Stack Docklet\u0026rdquo;, this thing is REALLY useful to get your shortcuts organized and handy under windows (2000, xp, vista, 7)! ^.^\nhttp://rocketdock.com/\nEnjoy and have a great day,\nNico\n","date":"2009-07-20T14:06:52Z","permalink":"/posts/2009-07-20-mozbackup-and-rocketdock/","title":"MozBackup and RocketDock"},{"content":"If you want to PXE Boot, but your NIC is too old or your bios doesn\u0026rsquo;t support it,\ntry these:\nhttp://rom-o-matic.net/\nIt the automatic website image builder for the http://www.etherboot.org Project.\nBTW: To load the dsk disk images to a floppy disk under windows, use rawrite! 😉\n","date":"2009-07-19T18:43:21Z","permalink":"/posts/2009-07-19-pxe-boot-disks/","title":"PXE Boot Disks"},{"content":"convert c: /fs:ntfs ","date":"2009-07-19T15:54:13Z","permalink":"/posts/2009-07-19-windows-xp-convert-fat32-to-ntfs/","title":"Windows XP: Convert FAT32 to NTFS"},{"content":"Normal things that go wrong and you should check up on a \u0026ldquo;total black\u0026rdquo; screen:\nTry to reset via reseting power Are the fans running? Is the power supply working (exchange)? Is the ram connected (replug, exchange)? Is the cpu ok (exchange)? Is the graphics card working (replug, exchange)? Is the mainboard directly screwed to the frame (shortcircuted)? Is the mainboard screwed with too much pressure (cracks)? Unplug LEDs, Front USB etc. (maybe shortcircuted) CMOS Reset Try to plug out and remove everything not needed to show your some bios messages (even Harddrive and Cdrom) What about the internal speaker? Got some nice post beeps? (Check out manual of the vendor!) ","date":"2009-07-18T17:54:59Z","permalink":"/posts/2009-07-18-pc-doesnt-boot-black-screen-of-death/","title":"PC doesn't boot (Black Screen of Death)"},{"content":" Files needed:\nsmartdrv.exe TFTPD Server pxelinux.0 memdisk Download and unzip TFTD Server, create Folder “root”.\nStart TFTP Server\nSettings:\n- Server Interface: Choose the right NIC\r- DHCP Server:\rStart Pool: 192.168.2.40\rSize of pool: 4\rBoot File: pxelinux.0\rWINS/DNS Server: 192.168.2.1\rDefault Router: 192.168.2.1\rMask: 255.255.255.0\r-\u0026gt;\u0026gt; Press Save\r- Under \u0026#34;Seetings\u0026#34; Base Directory to the created \u0026#34;root\u0026#34; Folder TFTP Security \u0026#34;None\u0026#34; PXE Compatibility -\u0026gt;\u0026gt; Press OK Copy memdisk, pxelinux.0 and smartdrv.exe to the root Folder Also copy kernel.dat and ramdisk.dat from the Acronis Resuce Disc into the root Folder create pxelinux.cfg Folder within root create File with Name “default” (no .txt or such!) with following stuff inside: LABEL acronis\rKERNEL kernel.dat\rAPPEND initrd=ramdisk.dat vga=791 ramdisk_size=32768 acpi=off quiet noapic Connect the Laptop to the Network, choose PXE / NIC as Bootmedia in the BIOS. Let that thing boot to PXE and enter acronis at the boot: prompt Have fun! Orginal taken from: http://www.networkcomputing.de/aus-dem-testlabor-linux-pxe-server-fuer-restore-mit-true-image-bereitstellen/seite/2/?no_cache=1\nThe DHCP Settings are important as well!\nAlso set firewall to off!\n","date":"2009-07-18T17:22:24Z","permalink":"/posts/2009-07-18-pxe-boot-acronis-true-image-home-11/","title":"PXE Boot Acronis True Image Home 11"},{"content":"If you can\u0026rsquo;t remove a file on Windows, its mostly because of the usage of a too long filename, invalid characters and such.\nTo solve that there are many tools like unlockers and such which doesn\u0026rsquo;t solve the problem because they doesn\u0026rsquo;t solve the sympthoms:\nThe filenames.\nSo if you step into that kind of problem, open up and commandline and cd to the folder with the \u0026ldquo;bad\u0026rdquo; file or file.\nAnd then, do an quick dir /X\nThat will show up the normal Filename as well as the old \u0026ldquo;Dos-Style\u0026rdquo; 8 character name.\nBy using that short name, you can delete a file with a simple del filename or an folder with an rmdir foldername\nEasy, ain\u0026rsquo;t it?\n","date":"2009-07-18T17:09:35Z","permalink":"/posts/2009-07-18-remove-files-on-windows-that-just-doesnt-want-to-be-removed/","title":"Remove Files on Windows that \"just doesn't want to be removed\"\n"},{"content":" Files needed: smartdrv.exe TFTPD Server pxelinux.0 memdisk Download and unzip TFTD Server, create Folder \u0026ldquo;root\u0026rdquo;. Start TFTP Server Settings: - Server Interface: Choose the right NIC\r- DHCP Server:\rStart Pool: 192.168.2.40\rSize of pool: 4\rBoot File: pxelinux.0\rWINS/DNS Server: 192.168.2.1\rDefault Router: 192.168.2.1\rMask: 255.255.255.0\r-\u0026gt;\u0026gt; Press Save\r- Under \u0026#34;Seetings\u0026#34;\rBase Directory to the created \u0026#34;root\u0026#34; Folder\rTFTP Security \u0026#34;None\u0026#34;\rPXE Compatibility\r-\u0026gt;\u0026gt; Press OK Copy memdisk, menu.c32, pxelinux.0, bartdisk.IMA to the root Folder create pxelinux.cfg Folder within root create File with Name \u0026ldquo;default\u0026rdquo; (no .txt or such!) with following stuff inside: DEFAULT menu.c32\rTIMEOUT 300\rALLOWOPTIONS 0\rPROMPT 0\rMENU TITLE PXE Boot System\rLABEL BartBoot\rMENU LABEL ^Bart Network Disk\rkernel memdisk\rappend initrd=bartdisk.IMA\rLABEL BootNormal\rMENU LABEL ^Boot Normal\rLOCALBOOT 0 Create an SMB Share in an Folder of your Choice. I took the Folder D:\\PXE and did share that as pxe Create Subfolder for every Windows Version you want to share. I created the subfolder tabxpsp3 Copy the i386 Folder from the Windows CD to that Folder Do also copy the smartdrv.exe into the i386 in your pxe/subfolder/i386 Start tftpd Connect the Laptop to the Network, choose PXE / NIC as Bootmedia in the BIOS. Let that thing boot to PXE and go through everything with just default settings. Fidsk: Delete All, than Create Primary Partition with all Space (minus 1000 MB), create extended Partition with the space left - and logical Partition in that Reboot This time, only accept normal default settings until an \u0026ldquo;Idetification Settings\u0026rdquo; comes up. Fill out and enable lmhosts option In the empty pad enter IP Adress of your SMB Server TAB Name of the Server. For example: 192.168.2.39 ATOM, and press ALT+X to save and leave Format: format c: and format d: net use x: \\atom\\pxe cd tabxpsp3\\i386 smartdrv winnt (/T D:) Orginal taken from: http://www.lockstockmods.net/2008/04/26/easy-way-to-pxe-boot-windows/\nProblem solutions if you can\u0026rsquo;t connect to the SMB Share via net use:\nDo install Netbios Protocol on your SMB Server NIC and restart Make sure your Servers Name ain\u0026rsquo;t longer than 8 characters As well as the Name of your share ","date":"2009-07-18T17:03:40Z","permalink":"/posts/2009-07-18-pxe-install-of-windows-without-floppy-without-cdrom/","title":"PXE Install of Windows (without Floppy, without CDRom)"},{"content":"Access to SSH or console with root passwords:\n/etc/init.d/factoryreset reset No Access to SSH or root passwords are lost:\nConnect a keyboard and monitor to the system.\nWait for boot prompt\nEnter:\nboot: default factoryreset After that you can go to your during the installation definied IP like: https://192.168.0.1\nAlternativ:\nBoot on the ASG from a Knoppix CD Login as root Mount the root partition of the ASG with: mount –t ext3 /dev/sda7 /mnt Go to the config on the ASG: cd /mnt/etc/wfe/conf/; vim setting Change reset_pwd = 0 to reset_pwd = 1 Save Run cd /; umount /mnt; reboot Access the install IP ","date":"2009-07-17T22:42:15Z","permalink":"/posts/2009-07-18-astaro-secuirty-gateway-v7-factory-reset/","title":"Astaro Security Gateway v7 Factory Reset"},{"content":"Free Home User License with 25 IPs!\nhttp://www.astaro.de/unsere_produkte/produktueberblick/landing_pages/ct_special#license\n","date":"2009-07-17T07:40:37Z","permalink":"/posts/2009-07-17-astaro-security-gateway-ct-version/","title":"Astaro Security Gateway c't Version"},{"content":" Exchange oem.tgz on root of ESXi 3.5 Install CD with new oem.tgz Install with CD with OEM Community Version or IC8 oem.tgz (SATA on Normal Mode) Boot from Knoppix 5.1, copy OEM.tz onto hda5 / Hypervisor Partition (SATA on Legacy Mode) Boot, works! Hints:\nUse UltraISO und BurnISO to modificiate / burn the stock ISO http://www.vm-help.com/esx/esx3i/customize_oem_tgz.php ","date":"2009-07-16T14:07:54Z","permalink":"/posts/2009-07-16-esxi-35-on-dell-optiplex-745/","title":"ESXi 3.5 on Dell Optiplex 745"},{"content":"for an admin account -\u0026gt;\nThe default username for the 9840CDW is admin\nThe default username for the 9840CDW is access\nfor a user account -\u0026gt;\nThe default username for the 9840CDW is user\nThe default username for the 9840CDW is access\n","date":"2009-07-16T13:42:11Z","permalink":"/posts/2009-07-16-brother-mfc-8840d-web-access/","title":"Brother MFC-8840D Web Access"},{"content":"Works only with dynamic HDDs!\nBackup!\nRemove old / unused Packages\nRemove downloaded Packages: sudo apt-get clean, Remove only old downloaded Packages: sudo apt-get autoclean\n\u0026ldquo;ZeroOut\u0026rdquo; unused Space: cat /dev/zero \u0026gt; zero.dat ; sync ; sleep 1 ; sync ; rm zero.dat\nUnder GUI: \u0026ldquo;sudo vmware-toolbox\u0026rdquo; and use shrink on \u0026ldquo;/\u0026rdquo;\nUnder VIClient: Defrag\n","date":"2009-07-16T13:35:19Z","permalink":"/posts/2009-07-16-shrink-vmware-image-files-on-linux-appliances/","title":"Shrink VMware Image Files on Linux Appliances"},{"content":"copyed from another Blog:\nPosted on December 28, 2008 in: how to, software, tools|Jump To Comments\nYeah, you heard me no CD/DVD burning in here. VMWare player lacks the ability to create new virtual machines by it self, this problem can be overcomed by using third party solutions or a blank virtual machine. However one small feature found on VMWare Workstation still missing which is the ability to install the operating system from ISO without having to burn in it into a CD/DVD first. Mostly it’s about reducing recordable media waste.\nYou can download a blank virtual machine ready for installation from this link.\nYou might also find this article interesting : How to Create a virtual machine with VMWare Player\nInstall from ISO\nIn order to make the virtual machine boot from the ISO you need to first edit the configuration ending with .vmx in this case named virtualmachine.vmx.\nAdd the following line to the configuration file.\nide1:0.fileName = \u0026quot;locationofiso.iso\u0026quot;\nLocate and change the following line.\nide1:0.deviceType = \u0026quot;cdrom-raw\u0026quot;\nTo.\nide1:0.deviceType = \u0026quot;cdrom-image\u0026quot;\nClose and save the configuration file. Now start the virtual machine and proceed with the regular installation.\nAfter the installation is done change the values back to.\nide1:0.fileName = \u0026#34;auto detect\u0026#34; ide1:0.deviceType = \u0026#34;cdrom-raw\u0026#34; Save and enjoy your virtual machine.\nLast revised on 02/04/2009\n","date":"2009-07-16T13:27:16Z","permalink":"/posts/2009-07-16-create-a-virtual-machine-from-an-iso-with-vmware-player/","title":"Create a virtual machine from an ISO with VMWare Player"},{"content":"sudo visudo /etc/sudoers\nyourUsername ALL=(ALL) ALL ","date":"2009-07-16T13:26:02Z","permalink":"/posts/2009-07-16-sudo-file/","title":"sudo File"},{"content":"After installing Ubuntu Server on Vmware ESXi, I couldn\u0026rsquo;t find a NIC:\nsudo /etc/init.d/networking restart Reconfiguring network interfaces\u0026hellip; eth0: ERROR while getting interface flags: No such device SIOCSIFADDR: No such device eth0: ERROR while getting interface flags: No such device SIOCSIFNETMASK: No such device SIOCSIFBRDADDR: No such device eth0: ERROR while getting interface flags: No such device eth0: ERROR while getting interface flags: No such device Failed to bring up eth0. Problem is that the ethernet MAC addresses are cached.\nTo remove the cache values:\nsudo rm /etc/udev/rules.d/70-persistent-net.rules Reboot, and it should work.\nOther NIC files:\n/etc/hosts - change ip address and hostnames /etc/hostname - change hostname /etc/network/interfaces - change ip address ","date":"2009-07-16T13:25:10Z","permalink":"/posts/2009-07-16-get-ethernetcard-working-again-in-linux-under-esxi/","title":"Get Ethernetcard working again in Linux under ESXi"},{"content":"Under Debian necessary:\napt-get install autoconf automake make psmisc gcc apt-get install linux-headers-`uname -r` build-essential Short:\ntar -xzvf VMwareTools-######.tar.gz cd vmware-tools-distrib ./vmware-install.pl vmware-tools-config.pl Long:\nViclient, Connect to VM Menu \u0026#34;VM/Install VMware Tools\u0026#34; Tools are mounted to Cdrom mkdir /mnt/cdrom mount /dev/cdrom /mnt/cdrom cd /mnt/cdrom tar zxvf VMware-Tools-xxxxxx.tar.gz -C /opt/ cd /opt/vmware-tools-distrib ./vmware-install.pl ","date":"2009-07-16T13:21:25Z","permalink":"/posts/2009-07-16-install-vmware-tools-on-linux/","title":"Install Vmware Tools on Linux"},{"content":"Login: 3COMCSO\nPassword: RIP000\nCOM port, 9600/8/N/1/N Web Or telnet to that address, hit [enter] once or twice to get the login prompt. Default logins to try are admin/(no password) or security/security. One of those 2 should bring up the management menu. reset factory defaults, type SYSTEM[enter] then type INITIALIZE[enter]. ","date":"2009-07-16T13:17:03Z","permalink":"/posts/2009-07-16-3com-switches-1100-3300-reset/","title":"3Com Switches 1100, 3300 Factory Reset"},{"content":"Global Activate:\nip dhcp snooping vlan 1-4094\nno ip dhcp snooping information option\nip dhcp snooping\nAllow DHCP on Port:\nip dhcp snooping trust\nUsing Spanningtree can cause Problems with DHCP, use portfast on Userside Ports, but NEVER on Trunk!\n","date":"2009-07-16T13:15:29Z","permalink":"/posts/2009-07-16-c3560-dhcp-snooping/","title":"c3560 DHCP Snooping"},{"content":"sed -e :a -e \u0026#39;s/\u0026lt;[^\u0026gt;]*\u0026gt;//g;/\u0026lt;/n;//ba\u0026#39; (Entfernt Html)\nsed -e s/Stop.*$// (Löscht Alles Nach Stop)\nsed q (Ausgabe Erste Zeile)\nsed \u0026#39;s/[ \\t]*$//\u0026#39; Lösche Unsichtbare Zeichen (Leerzeichen, Tabulatoren) Vom Ende Aller Zeilen\nsed \u0026#39;s/^[ \\t]\\*//;s/[ \\t]\\*$//\u0026#39; Lösche Unsichtbare Zeichen Sowohl Am Anfang Als Auch Am Ende Jeder Zeile\nsed \u0026#39;1d\u0026#39; (Lösche Erste Zeile)\nsed \u0026#39;$d\u0026#39; (Lösche Letzte Zeile)\nhead -n -5 (löscht 5 letzten Zeilen)\nsed \u0026#39;n;n;s/\\n/ /g\u0026#39; (Fügt Drei Zeilen Die Untereinander Stehen Zusammen, Mit Leerzeichen)\nsed \u0026#39;/pics[/]pix.gif/s/^/notRepl: (fügt notRepl direkt an Anfang der Zeile hinzu wenn pic/pix.gif enthalten ist in der Zeile)\nsed s/^.*http/http/ How Do You Delete The Text At The Beginning Of Every Line Until A Certain Word Using Sed?\nsed -n \u0026#39;/Word1/,/Word2/p\u0026#39; File (Gebe Alles Zwischen Word1 Und Word2 Aus)\ngrep -c Word File (Zählt Wie Oft Das Wort Vorkommt)\ntr -d \u0026#39;\\015\\032\u0026#39; (Entfernt \\n \\t)\nsed -e \u0026#34;/^ *$/d\u0026#34; (Löscht Leerzeilen Aus Datei)\nsed -e \u0026#34;s/[\u0026#39;]\u0026amp;nbsp;//g\u0026#34; (entfernt Ä\u0026amp;bnsp; am anfang)\nsed \u0026#39;s/\u0026amp;nbsp;//g\u0026#39; (entfernt \u0026amp;bnsp; am anfang)\necho -n (ohne \\n)\n#! /bin/sh test=2 test2=\u0026#39;loginName=\u0026#39;$test\u0026#39;\u0026amp;pass= echo $test2 (Variable)\n./wkw.sh loginname passwort -d \u0026#39;loginName=\u0026#39;$1\u0026#39;\u0026amp;pass=\u0026#39;$2\u0026#39;\u0026amp;x=0\u0026amp;y=0\u0026amp;logIn=1\u0026#39; (Übergabe)\n#!/bin/sh if test -f tmp\\_sg\\_test \u0026gt; 0 then echo \u0026#34;yes\u0026#34; else echo \u0026#34;no\u0026#34; fi (Existiert Datei?)\nsed -e \u0026#39;s/[\\]//\u0026#39; (lösche \\ am Ende)\nsort (sortiert)\nuniq (wenn sortiert alle zeilen untereinander löscht es doppelte zeilen)\ngrep (-A anzahl zeilen nach match, -B anzahl zeilen bevor match)\nsed -e \u0026#39;s/\u0026lt;\\/a\u0026gt;\u0026lt;\\/li\u0026gt;\u0026lt;li\u0026gt;/test/g\u0026#39; (\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\u0026lt;li\u0026gt;) var1=$(echo $1 | sed s/@/%40/g) (wandelt $1 email in unicode um in $var1)\n| sed s/Ã¤/ä/g | sed s/Ã¶/ö/g | sed s/Ã¼/ü/g (ä und ö und ü ändern)\n#! /bin/sh while [ \u0026#34;$1\u0026#34; ]; do echo \u0026#34;$1\u0026#34; shift done ( parameterübergabe ans skript: ein parameter nach dem nächsten abarbeiten)\ndate \u0026#39;+%y/%m/%d %H:%M:%S\u0026#39; (Ausgabe Jahr, Monat, Tag, Stunde, Minute, Sekunde)\ntest.sh\n#!/bin/sh . config.var name=animexx echo $tmp$name tmp=$tmp$name echo $tmp echo $client config.var tmp=./tmp/tmp_ client=\u0026#39;\u0026#34;Mozilla/4.73 \\[en\\] (X11; U; Linux 2.2.15 i686)\u0026#34;\u0026#39; ( config file mit zentralen parametern aus config.var )\nVARIABLE=\\`date +\u0026#34;%y%m%d\u0026#34;\\` Die ` sind Backticks, also Umschalt+Taste neben Backspace auf einer deutschen Tastatur.\nEinfacher zu lesen und zu schreiben ist die $() Variante: VARIABLE=$(date +\u0026quot;%y%m%d\u0026quot;)\nwhile read line do echo $line done \u0026lt; mydatafile (read file line by line and DO echo them)\nsed -e \u0026#39;s/.\\{7\\}$//\u0026#39; ( letzten 7 zeichen loeschen )\n","date":"2009-07-16T12:59:41Z","permalink":"/posts/2009-07-16-sed-and-awk-commandlist/","title":"sed and awk Commandlist"},{"content":"Service List to Install \\ Configure:\nInet Service: SSH Port\nCerts Service: -\nApache2 Webserver: Web Port, Log Settings\nMySQL Server: Mysql Port, Log Settings, Network Enable, Cache Sizes\nSquid proxy: Cache off\nMinicom Service: -\nLPRng: -\nSamba: Create Users and Configure Shares and Network\nDyndns: Configure DynDns Services\nMINI_HTTPD: Port, SSL, Special Configuration\nNetdate Service: Configure NTP Server\nteamspeak: Configure superadmin, admin\nstreamripper: -\nRSYNC: Configure Backup Shares and User\nPower Button: -\nFirewall:\n/etc/hosts.allow\n\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\--- #\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---- \\# /etc/hosts.allow file generated by \u0026#39;/tmp/install.sh\u0026#39; # \\# Creation date: 10.02.2005 root # \\# Do not edit this file directly, create a \u0026#39;/etc/hosts.allow.package-name\u0026#39; \\# file and re-run the \u0026#39;update-hosts.allow\u0026#39; command to update. #\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\----\rALL:ALL Ramdisk:\n/etc/init.d/ramdisk\n#! /bin/sh #\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---- \\# /etc/init.d/ramdisk - ramdisk secrets.tdb vscan-fprotd.conf #roup.old mib.txt secrets.tdb.samba.bak vscan-fsav.conf \\# Creation: 19.07.2003 fm securetty vscan-icap.conf \\# Last Update: 20.07.2003 fm security vscan-oav.conf #osts.allow motd services vscan-sophos.conf \\# Copyright (c) 2003 Frank Meyer \u0026lt;frank@eisfair.org\u0026gt; vscan-trend.conf #ttpd mtools.conf shadow wgetrc \\# This program is free software; you can redistribute it and/or modify \\# it under the terms of the GNU General Public License as published by \\# the Free Software Foundation; either version 2 of the License, or \\# (at your option) any later version. #\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\----\rcase $1 in start) /bin/mount -t ramfs log /var/log -o maxsize=2000 /bin/mount -t ramfs www-log /var/www/log -o maxsize=2000 #/bin/mount -t ramfs none /var/squid/log -o maxsize=2000 \\# modprobe usb-storage \u0026gt;/dev/null 2\u0026gt;\u0026amp;1 \\# insmod sd_mod \u0026gt;/dev/null 2\u0026gt;\u0026amp;1 \\# insmod usb-uhci \u0026gt;/dev/null 2\u0026gt;\u0026amp;1 \\# insmod usb-ohci \u0026gt;/dev/null 2\u0026gt;\u0026amp;1 ;; stop) umount /var/log umount /var/www/log #umount /var/squid/log ;; esac chmod +x\nSymLinks in /etc/rc2.d/K37ramdisk, S37ramdisk\nLocal\n/etc/init.d/local\n#! /bin/sh #\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---- \\# /etc/init.d/local - rc script for gerneral purpose # \\# Creation: 19.07.2003 fm \\# Last Update: 20.07.2003 fm # \\# Copyright (c) 2003 Frank Meyer \u0026lt;frank@eisfair.org\u0026gt; # \\# This program is free software; you can redistribute it and/or modify \\# it under the terms of the GNU General Public License as published by \\# the Free Software Foundation; either version 2 of the License, or \\# (at your option) any later version. #\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\----\rcase $1 in start) \\# mount /dev/hdc /hdd -t ext3 \\# hdparm -d1 /dev/hdc # DMA an \\# hdparm -S 30 /dev/hdc # Spindown \\# hdparm -y /dev/hdc # Sofort Spindown\r#/pvpgn/sbin/bnetd ;;\rstop) \\# umount /hdd\r#killall bnetd ethtool -s eth0 wol g ;; esac Base, Special User:\nvi /home/USER/.profile\nexec /bin/bash -r\rvi /home/USER/.bashrc\ralias bash=\u0026#39;echo \u0026#34;syntax error\u0026#34;\u0026#39;\ralias unalias=\u0026#39;echo \u0026#34;ooh, arent you a clever boy!\u0026#34;\u0026#39;\ralias alias=\u0026#39;echo \u0026#34;nice try\u0026#34;\u0026#39; HTTPD:\n1. /etc/httpd/mini_httpd.conf\npidfile=/var/run/mini\\_httpd\\_base.pid pidfile=/var/run/mini_httpd.pid 2. vi /etc/adminlog.conf\nInhalt: \\*.\\* /var/log/log.admin 3. vi /usr/local/htdocs/adminlog.cgi mit Inhalt\n#!/bin/sh #\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\--- \\# syslog.cgi - show the syslog-file # \\# Creation: 28.10.2003 mgh \\# LU : 02.08.2004 opi # \\# 02.08.04 add missing end tags on error exits # #\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\\---\rSEC_REALM=\u0026#39;logs\u0026#39; SEC_ACTION=\u0026#39;view\u0026#39;\r. sec-lib.cgi\r\\# Parse variables... eval \u0026#34;\\`proccgi $*\\`\u0026#34;\recho \u0026#34;Content-Type: text/html; charset=iso-8859-1\u0026#34; echo \u0026#34;Cache-control: no-store\u0026#34; # HTTP/1.1 (or no-cache?) echo \u0026#34;Pragma: no-cache\u0026#34; # HTTP/1.0 echo \u0026#34;Expires: \\`date -Ru\\`\u0026#34; # Expires now! echo echo \u0026#39;\u0026lt;html\u0026gt;\u0026lt;head\u0026gt;\u0026#39; echo \u0026#39;\u0026lt;LINK REL=STYLESHEET TYPE=\u0026#34;text/css\u0026#34; HREF=\u0026#34;main.css\u0026#34;\u0026gt;\u0026#39; echo \u0026#39;\u0026lt;title\u0026gt;Syslog\u0026lt;/title\u0026gt;\u0026#39; echo \u0026#39;\u0026lt;/head\u0026gt;\u0026#39;\rif [ ! -f /etc/adminlog.conf ] then echo \u0026#34;\u0026lt;h1\u0026gt;Error\u0026lt;/h1\u0026gt;\u0026lt;p\u0026gt;Keine /etc/adminlog.conf vorhanden!\u0026lt;/p\u0026gt;\u0026lt;/body\u0026gt;\u0026lt;/html\u0026gt;\u0026#34; exit 1 fi\rset -f # disable pathname expansion if [ \u0026#34;$FORM_target\u0026#34; = \u0026#34;\u0026#34; ] then FORM_target=\u0026#39;\\*.\\*\u0026#39; fi\rwhile read a b do if [ \u0026#34;$FORM_target\u0026#34; = \u0026#34;$a\u0026#34; -a -f \u0026#34;$b\u0026#34; ] then printout=$b fi done \u0026lt; /etc/adminlog.conf set +f\rif [ \u0026#34;$printout\u0026#34; = \u0026#34;\u0026#34; ] then echo \u0026#34;\u0026lt;h1\u0026gt;Fehler\u0026lt;/h1\u0026gt;\u0026lt;p\u0026gt;Keine Datei des Adminlog-Ziels $FORM_target gefunden!\u0026lt;/p\u0026gt;\u0026lt;/body\u0026gt;\u0026lt;/html\u0026gt;\u0026#34; exit 1 fi\recho \u0026#34;\u0026lt;h1\u0026gt;Adminlog\u0026lt;/h1\u0026gt;Datei: $printout ($FORM_target)\u0026#34; sed \u0026#39;1!G;h;$!d\u0026#39; $printout echo \u0026#39;\u0026lt;/body\u0026gt;\u0026lt;/html\u0026gt;\u0026#39;\rexit 0 Es wird in der Datei /etc/httpd/menu unter\ne sr.cgi Serverswitch\neine zusätzliche Zeile e serverswitch.cgi Serverswitch angelegt (die ins Leere zeigt).\nmini_http Port 81 ","date":"2009-07-16T12:55:36Z","permalink":"/posts/2009-07-16-eisfair-configuration/","title":"Eisfair Configuration"},{"content":" ESXi Export für Workstation / Player Erweitere Template mit VMXBuilder um IDE Festplatte, size minimum the SCSI HDD\n(Vorsicht, IDE:0:0!, CD Laufwerk auf IDE:0:1 setzen!) Booted VM mit \u0026ldquo;Ultimate Boot CD\u0026rdquo;, starte Tool \u0026ldquo;g4u\u0026rdquo; V1.17 Kopiere SCSI Disk auf IDE Disk Editiere Template: Entferne SCSI HDD Boote mit \u0026ldquo;Ultimate Boot CD\u0026rdquo;, DamnSmall Linux mount /dev/hda2 sudo vi /etc/fstab: /dev/sda1 und /dev/sda2 auf /dev/hda1 und /dev/hda2 ändern umount boot Bootloader\n/etc/lilo.conf\ndisk = /dev/hda bios = 0x80 boot = /dev/hda read-only prompt timeout = 50 vga = normal image = /boot/kernel root = /dev/hda2 label = eis initrd = /boot/initrd.gz append = \u0026#34;ide=nodma acpi=force\u0026#34; Anschließend lilo -v\nwenn Eisfair läuft, neustarten Boot auf CD Image Acronis Home Image erstellen und auf Netzlaufwerk speichern Am neuen PC\nInstalliere Eisfair auf dem neuen Datenträger / CF wenn Eisfair läuft, neustarten Boot auf CD Image Acronis Home Image von hda2 aus dem Netzlaufwerk wiederherstellen booten Anschließend lilo -v fertig\n","date":"2009-07-16T12:31:48Z","permalink":"/posts/2009-07-16-eisfair-von-esxi-auf-cf/","title":"Eisfair von ESXi auf CF"},{"content":"DragonMother is the latest addition to my little PC farm.\nIts an IBM Netfinity 8500R X-Series Server.\nAt the moment it contains 2 Pentium III Xeon 700 Mhz Processors and 2 GB of 100 Mhz ECC Sdram.\nAdditionally it makes use of an IBM ServeRaid (SCSI) and an Fastrak Promise Ultra 100 (IDE) Controller to support multiple Harddisk Drives and an 3Com 10/100 XT Fast Ethernet Card.\nIt is powered by 3 redundant, hotplugable Power Supply Units - but acutally I use only one ( I don\u0026rsquo;t need redundance at the moment, so I only use one for less power consumption).\nIt is planed to buy an additional Daughterboard to support another 4 Cpus and fill up the 2 open Cpus Slots on Board A. So - six IBM Xeon 700 Mhz Proccessors and one Daughterboard- please.\nAt the moment it uses Ubuntu Server Edition and Knoppix - but in futher we may upgrade to an Windows 2000 Advanced Server to use multiple Cpus.\n","date":"2008-08-24T14:32:58Z","permalink":"/posts/2008-08-24-netfinity-8500r-dragonmother-23082008/","title":"Netfinity 8500R \"DragonMother\" (23.08.2008)"},{"content":"One year after the Hilfsdrache Project, I wanted to build an new server.\nWhile an traineeship at an IT Systems firm, I got an 19\u0026rsquo;\u0026rsquo; Inch Rackpiece with (about 3 HE) - so I wanted to use that as \u0026ldquo;Case\u0026rdquo; for that project.\nThat server here should be different from the Hilfsdrache in serval points.\nFirst, it should run an specialized linux distribution called \u0026ldquo;Eisfair\u0026rdquo; (www.eisfair.org) - which had been created to work as secure and easily configurable server system.\nSecond, this server should be absolutly quiet - and work with low power consumption.\nThird, this server shouldn\u0026rsquo;t host big game servers - only applications. (So it does need neither high CPU power nor an large HDD).\nIn the end, I used an Acer V66 Motherbord (it was quite thin and long - so it fitted the Case perfectly), an AMD K6-2 400 Mhz which I underclocked to 250 Mhz (and took down the Vcore from 2,2 V to 1,75V - so it did run passive - just needed an heat sink), and 256 MB of Sdram.\nFor the Powersupply, I modded an 250 Watts PSU, so that it fitted the case and rewired the security groundings to serval parts of the case. Additionally, i added some cooling sinks to the powersupply and tested it serval times with the new server: It never exceded room temperature. The same thing with the cpu.\nTherefore the only mechanical thing on this server was the HDD - and that I took away from it aswell.\nIn the beginning, I used an 1 Gigabyte Mircodrive - but I thought of it as beeing too loud. So I changed to an 1 Gigabyte Compactflash Drive and changed Eisfair in that way, that it wrote the log files into Ramdrives - so that the Flashdrive didn\u0026rsquo;t needed to endure so many write/read operations as an normal drive.\nThe Blutdrache nowadays uses an 100 Mbit Network Interface Card, an PCI Soundcard and an 56kbit Modem (which ain\u0026rsquo;t used at the moment).\nNowadays this Server is mostly used for Teamspeak and as Personal Backup Webserver.\nAlso its used to provide an Secure Internet Connection for me while I\u0026rsquo;m on Work or \u0026ldquo;Outside\u0026rdquo; of my own Network. I do use the SSHD to Tunnel my Internettransfer from the Firefox of my Tablet into the Blutdrache - and use Squid as Proxy to gain Access to my own Internetconnection at Home - so my Data can\u0026rsquo;t be monitored from the Outside.\nSo - this Server is important and nearly on daily use - and\u0026hellip; as I planed - absolutly silent!\nIt hosts these Services:\nApache\nPhp\nMysql\nFTP\nSSHD\nSquid\nMinicom (to work onto the serial Line of my WGT634U)\nSamba (for Files and Printer)\nTeamspeak RC2\nPlayer versus Player Gaming Network (PvPGN)\nStreamripper (in addition to an NAS or attached USB HDD)\nWebradio Client\n","date":"2008-08-15T23:15:16Z","permalink":"/posts/2008-08-16-blutdrache-01-version-10-26112005/","title":"Blutdrache 01 Version 1.0 (26.11.2005)"},{"content":"On 18.07.2004, the third Version of the Hilfsdrache was finalized.\nThe CPU Cooler was replaced through an selfbuild Watercooling System.\nThe coolant radiator used was from an Ford or Opel Automobile. The other parts were an small 12 Volt pump, and selfbuild copper water cooling unit for the CPU, and an water tank (made out of an plastic tube with cover).\nTo get an better airflow through the main 120 mm fan, the back of the Server got 2 coverplates with holes and - for better optic - an lighted perspex plate like the one I made in large for the mousepad.\nThe parts of the watercooling - like radiator and water tank, were lighted with blue leds, too.\nTo switch the light on and off, the display holder got an additional switch.\nWhat is not seen is the relais I build into the MiniATX Powersupply AFTER I made these pictures: From the moment the PSU starts delivering power (the Pc is powered on) - the pump also starts and therefore the waterciruculation and coolant of the CPU.\nNOTE: The Server is disassembled at the moment, as it needs more work on the watercooling system (it worked one year flawlessly, but there are some weak points where it has to be redesigned).\n","date":"2008-08-15T22:37:28Z","permalink":"/posts/2008-08-16-hilfsdrache-01-version-12-18072004/","title":"Hilfsdrache 01 Version 1.2 (18.07.2004)"},{"content":"Over 5 Months later, I did update the Design.\nThe Server worked flawlessly so far, but there was space for some additions.\nFirst I did mod the MiniATX Powersupply and build in an Switch to put the Powersupply Fan into 12 Volt (Fast and Loud) or 7 Volt (Slow and Silent - but enough throughput) Mode. From that on, the server was a LOT more silent.\nAlso, the HDD Cage connection to the ground of the Case was damped by screwing it through a thumbsize layer of rubber. That helped.\nBut the biggest change in this revision was the attachement of an LCD Display.\nIt was connected through the LTP Port of the Mainboard and with an special piece of Software, it was able to display Live Data like CPU and Ram Load, Network Interface Load and a lot more.\nThe display holder was created out of metal and did not only hold the display, but also the display controlls (brightness, contrast and display on (backlight on), display off, display on (backlight off)) and an 12 Volt / 7 Volt Mode switch for the big 120 mm Fan.\nAnd after that,.. there was silence 😉\n","date":"2008-08-15T21:58:01Z","permalink":"/posts/2008-08-15-hilfsdrache-01-version-11-24052004/","title":"Hilfsdrache 01 Version 1.1 (24.05.2004)"},{"content":"Hilfsdrache01 should be my first standalone server for Lan Partys and such.\nAs for that reason, I decided to do a bit more than \u0026ldquo;only\u0026rdquo; build up the pc and get it running: I tried to built the pc into an big attache case. The benefits were clearly: An easily transportable pc with an solid and small case.\nBecause I didn\u0026rsquo;t have much space, I used MiniATX components for this project.\nAn Intel Pentium II with 450 Mhz and 256 MB of Sdram Ram (100 Mhz FSB) and two 20 Gb HDDs, as well as an 10 Mbit and an 100 Mbit Networking Interface Card were the \u0026ldquo;startup\u0026rdquo;. As the pc didn\u0026rsquo;t boot up without an Graphics Card, I decided to use an old ATI Rage, as that AGP Card was quite solid, drained not much power and needed not even an heat sink on its GPU.\nAs for the overall cooling, I used an 120mm Fan in 7 Volt Mode (quite silent and much throughput).\nThe project started on 29.12.2003 and was completed on the morning of the 31.12.2003.\nAt the same night, it was already tested on an lan party with 4 clients, running an Freelancer, Counterstrike and Fileserver (for Patches). It worked.\n","date":"2008-08-15T21:33:25Z","permalink":"/posts/2008-08-15-hilfsdrache-01-version-1-31122003/","title":"Hilfsdrache 01 Version 1 (31.12.2003)"},{"content":"So, in 2003 / 04 I weren\u0026rsquo;t only working on the \u0026ldquo;Hilfsdrache\u0026rdquo;, but also on an special Mousepad.\nThat Mousepad was created out of perspex, an aluminium rail and serval ultra-bright blue leds and an usb connector.\nTo really make that pad special and \u0026ldquo;one of a kind\u0026rdquo;, I created an carving with an Dremel Multitool into the upper one of the two perspex layers.\nThe light of the leds is shining directly into the uper layer and is broken on the positions, where the material is carved.\nAs result of that, the Carving itself shines out blue - while the rest of the perspex is still translucent.\nPower for the LEDs is delievered by an USB Connector that can be plugged into any USB Port on any PC with an Standard USB Type A to Type A Cable.\n","date":"2008-08-15T21:09:08Z","permalink":"/posts/2008-08-15-the-dragon-mousepad/","title":"The Dragon Mousepad"}]