Sunday, November 24, 2013

GLB's Micro ARF Quadcopter MWC overview

Micro Quadcopter with MultiWii firmware - $54.10 from goodluckbuy.com.
Spare parts 4pcs Landing Skid Set - $4.23 and 350mah Li-Batteryh - $5.74
This kit requires some soldering and own RX and TX. I used for TX Turnigy 9xR with Frsky DJT - $51.85 radio from combo pack bought from HK, and for TX FrSky V8R4-II - $13.62 nice tiny 4 channel receiver with wide range of operating voltage 3.0~16.0V.

After soldering was done, first problem a stumbled on was that MultiWii GUI wasn't able to connect via serial port. Though solution was pretty simple. I compiled new firmware which comes with MultiWii GUI in MultiWii folder with Arduino IDE. It can be programmed with the same IDE too. I used USBasp programmer (some cheap sort of this programmer for using with avrdude and etc can be fixed using this article).

Before writing new firmware you must configure MultiWii config.h file, i found good thread on rcgroups forum about this micro quadcopter. My uncommented/changed lines (didn't test much just wanted to try, you can read a thread about this parameters on rcgroups):

#define QUADX

#define MINTHROTTLE 1000
#define MAXTHROTTLE 2000

#define DESQUARED6DOFV4
#define MPU6050

//#define I2C_SPEED 100000L
#define I2C_SPEED 400000L

#define INTERNAL_I2C_PULLUPS
#define EXT_MOTOR_RANGE
#define MOTOR_STOP



Cons in my kit motors wires were too short and i needed to extend they.
FrSky RX connected:
RX ch (signal pin)     QuadCopter
       1               roll / ail
       2               pitch / ele
       3               throttle
       4               yaw

    1 ch VCC           V+ pin
    1 ch GND           GND pin


  

Monday, October 28, 2013

Tuesday, October 8, 2013

Mikrotik mangle Sniff TZSP, trafr, tcpdump on Wheezy


Mikrotik router:

[admin@MikroTik] > ip firewall mangle print detail Flags: X - disabled, I - invalid, D - dynamic 0 ;;; 91.217.189.21/portlane.se.quakenet.org irc traffic sniffing test chain=prerouting action=sniff-tzsp sniff-target=192.168.199.20 sniff-target-port=37008 protocol=tcp src-address=192.168.199.0/24 dst-port=6667

Wheezy (sniff target):

cmd>root# apt-get update && apt-get install tcpdump cmd>user# wget http://www.mikrotik.com/download/trafr.tgz cmd>user# tar -zxvf trafr.tgz cmd>user# ./trafr -s | /usr/sbin/tcpdump -A -r - -n

Friday, June 21, 2013

Upgrading ESXi 5.0 to 5.1 U1 via IP KVM (screenshot version)

Upgrading ESXi from 5.0 to 5.1 U1 on SR1690WBR Server System via Aten CN8000 IP KVM



PSOD was the only problem that required physical access to server or access to control power, for doing reset. The problem occured because CPU feature "No-Execute Memory Protection" was disabled instead of enabled. After restart it was very easy to do upgrade.

Saturday, May 25, 2013

Debian DVB-T AverMedia A867 + astra streaming


cmd>root# wget "http://www.avermedia.com/Support/DownloadCount.aspx?FDFId=5653"
cmd>root# mv DownloadCount.aspx\?FDFId\=5653 a867.tar.bz2
cmd>root# tar -xjf a867.tar.bz2

cmd>root# apt-get install linux-headers-`uname -r` linux-source
cmd>root# wget "https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.2.45.tar.xz"
cmd>root# tar -xf linux-3.2.45.tar.xz
cmd>root# cd linux-3.2.45/drivers/media/
cmd>root# mkdir -p /lib/modules/3.2.0-4-amd64/source/drivers/media/
cmd>root# cp -r dvb/ /lib/modules/3.2.0-4-amd64/source/drivers/media/

cmd>root# cd && cd a867*
cmd>root# make
cmd>root# make install
cmd>root# modprobe dvb-core
cmd>root# modprobe dvb-pll
cmd>root# modprobe dvb-usb
cmd>root# insmod ./a867.ko debug=255

cmd>root# apt-get install dvb-apps w-scan screen
cmd>user# w_scan -ft -c EE -X >> channels.conf

ETV(Levira):530000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:550:730:1
Kanal 2(Levira):530000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:562:810:41
TV3(Levira):530000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:566:826:43
ETV2(Levira):530000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:561:806:2
Tallinna TV(Levira):530000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:501:601:39
Kanal12(Levira):530000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_NONE:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:502:605:38
France 24(Levira):602000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_1_2:FEC_NONE:QPSK:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:3794:5376:494

cmd>user# wget http://cesbo.com/download/astra-stable.tar.gz
cmd>user# tar -zxvf astra-stable.tar.gz
cmd>user# cd cesbo*
cmd>user# ./configure.sh
cmd>user# make
cmd>user# make install

cmd>user# nano stream.lua

#!/usr/bin/astra

log.set({ debug = true, stdout = true, syslog = "dvb-t" })
require("base")
require("output_http")

#!/usr/bin/astra

log.set({ debug = true, stdout = true, syslog = "dvb-t" })
require("base")
require("output_http")

make_stream({
    demux = true,
    dvb = {
      type = "T",
      modulation = "QAM16",
      guardinterval = "1/4",
      adapter = 0,
      device = 0,
      bandwidth = "8mhz",
      frequency = 530
    }
  }
,{
  {
    fec = "2/3",
    name = "ETV(Levira)",
    pnr = 1,
    output = { "http://10.225.14.15:8000/dvb/ch1" }
  },
  {
    fec = "2/3",
    name = "Kanal 2(Levira)",
    pnr = 41,
    output = { "http://10.225.14.15:8000/dvb/ch2" }
  },
  {
    fec = "2/3",
    name = "TV3(Levira)",
    pnr = 43,
    output = { "http://10.225.14.15:8000/dvb/ch3" }
  },
  {
    fec = "2/3",
    name = "ETV2(Levira)",
    pnr = 2,
    output = { "http://10.225.14.15:8000/dvb/ch4" }
  },
  {
    fec = "2/3",
    name = "Tallinna TV(Levira)",
    pnr = 39,
    output = { "http://10.225.14.15:8000/dvb/ch5" }
  },
  {
    fec = "2/3",
    name = "Kanal12(Levira)",
    pnr = 38,
    output = { "http://10.225.14.15:8000/dvb/ch6" }
  },
})


Wednesday, May 22, 2013

Ports extracting on old freebsd (7.2 my), xz inappropriate file type or format

Before starting compiling libarchive, i put spawn.h to /usr/include, because in my system it doesn't existed.

CC     libarchive/filter_fork_posix.lo
libarchive/filter_fork_posix.c:61:21: error: spawn.h: No such file or directory
*** Error code 1

Stop in /usr/ports/archivers/libarchive/work/libarchive-3.1.2.
*** Error code 1

# cd /usr/include/
# wget https://gist.github.com/OmIkRoNiXz/5625492/raw/71b8edba74636f513a0e301a2da12caa2d68f417/spawn.h

Now i can install libarchive.

# cd /usr/ports/archivers/libarchive 
# make install clean

# ln -sf /usr/local/bin/bsdtar /usr/bin/tar

And it all!

Thursday, February 21, 2013

Mikrotik RB493G + Unifi AP, public and guest network

1. Go to Unifi Controller Web page, sign in.
2. Open settings => Wireless Networks => Create

3. Select Security: Open, tick Guest Policy checkbox,
tick Use VLAN ID and for example put 200 for VLAN ID, click Create
4. Now open WinBox for Mikrotik setup

for my simple setup i've created bridge bridge1 for LAN, with this parameters:

 0  R name="bridge1" mtu=1500 l2mtu=1520 arp=enabled 
      mac-address=00:0C:42:A7:68:EC protocol-mode=none priority=0x8000 
      auto-mac=yes admin-mac=00:00:00:00:00:00 max-message-age=20s 
      forward-delay=15s transmit-hold-count=6 ageing-time=5m 

Saturday, February 9, 2013

Ubiquiti UniFi Controller under debian squeeze


# echo "deb http://www.ubnt.com/downloads/unifi/distros/deb/squeeze squeeze ubiquiti" >> /etc/apt/sources.list
# apt-key adv --keyserver keyserver.ubuntu.com --recv C0A52C50

# echo "deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen" >> /etc/apt/sources.list
# apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10

# apt-get update && apt-get upgrade
# apt-get install unifi

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  ca-certificates-java default-jre-headless java-common jsvc libcommons-daemon-java libjpeg62 liblcms1 libnspr4-0d libnss3-1d mongodb-10gen openjdk-6-jre-headless
  openjdk-6-jre-lib tzdata-java
Suggested packages:
  default-jre equivs java-virtual-machine liblcms-utils libnss-mdns sun-java6-fonts ttf-baekmuk ttf-unfonts ttf-unfonts-core ttf-sazanami-gothic ttf-kochi-gothic
  ttf-sazanami-mincho ttf-kochi-mincho ttf-wqy-microhei ttf-wqy-zenhei ttf-indic-fonts
The following NEW packages will be installed:
  ca-certificates-java default-jre-headless java-common jsvc libcommons-daemon-java libjpeg62 liblcms1 libnspr4-0d libnss3-1d mongodb-10gen openjdk-6-jre-headless
  openjdk-6-jre-lib tzdata-java unifi
0 upgraded, 14 newly installed, 0 to remove and 0 not upgraded.
Need to get 109 MB of archives.
After this operation, 244 MB of additional disk space will be used.
Do you want to continue [Y/n]? Y



And it works https://SERVER_IP_ADDRESS:8443/


Some pictures from web interface:


Replacing degraded disk in RAID1 3ware LSI


server# tw_cli

//server> /c0 show

Unit  UnitType  Status         %RCmpl  %V/I/M  Stripe  Size(GB)  Cache  AVrfy
------------------------------------------------------------------------------
u0    RAID-1    DEGRADED       -       -       -       465.651   OFF    OFF

VPort Status         Unit Size      Type  Phy Encl-Slot    Model
------------------------------------------------------------------------------
p0    DEGRADED       u0   465.76 GB SATA  0   -            ST3500320NS
p1    OK             u0   465.76 GB SATA  1   -            WDC WD5003ABYX-01WE

/* removeing degraded disk */

//server> /c0/p0 remove Removing /c0/p0 will take the disk offline. Do you want to continue ? Y|N [N]: Y Removing port /c0/p0 ... Done. //server> /c0 show Unit UnitType Status %RCmpl %V/I/M Stripe Size(GB) Cache AVrfy ------------------------------------------------------------------------------ u0 RAID-1 DEGRADED - - - 465.651 OFF OFF VPort Status Unit Size Type Phy Encl-Slot Model ------------------------------------------------------------------------------ p1 OK u0 465.76 GB SATA 1 - WDC WD5003ABYX-01WE

/* physically insert new hard disk and scan for this */

//server> /c0 rescan //server> /c0 show Unit UnitType Status %RCmpl %V/I/M Stripe Size(GB) Cache AVrfy ------------------------------------------------------------------------------ u0 RAID-1 DEGRADED - - - 465.651 OFF OFF VPort Status Unit Size Type Phy Encl-Slot Model ------------------------------------------------------------------------------ p0 OK - 465.76 GB SATA 0 - WDC WD5003ABYX-01WE p1 OK u0 465.76 GB SATA 1 - WDC WD5003ABYX-01WE

/* start rebuilding array */

//server> maint rebuild c0 u0 p0 Sending rebuild start request to /c0/u0 on 1 disk(s) [0] ... Done.

/* display status of rebuilding */

//server> info c0 Unit UnitType Status %RCmpl %V/I/M Stripe Size(GB) Cache AVrfy ------------------------------------------------------------------------------ u0 RAID-1 REBUILDING 5% - - 465.651 OFF OFF VPort Status Unit Size Type Phy Encl-Slot Model ------------------------------------------------------------------------------ p0 DEGRADED u0 465.76 GB SATA 0 - WDC WD5003ABYX-01WE p1 OK u0 465.76 GB SATA 1 - WDC WD5003ABYX-01WE

Sunday, February 3, 2013

Some useful linux/*nix cmds

Send cmd to screen (echo -ne '\015' emulates pressing the Enter key)
# screen -S sessionname -p 0 -X stuff 'command'`echo -ne '\015'`
Search file in packages (debian like distros)
# dpkg -S /etc/foo/foo.conf  
Check port availability
# nc -znvvw 3 192.168.1.100 80
Check availability of port range
# nc -znvvw 3 192.168.1.100 8080-8081
Row count in files with *.php extension
# find /root/* -type f -name "*.php" -exec wc -l {} + ;
Find files larger than 100MB
# find . -size +100M -exec du -h {} \;
SSH port forwarding example for SQL Server (remote-server - which have access to SQL Server by Local address 192.168.1.50, then we can connect to localhost:1433)
# ssh -f remote-server -L127.0.0.1:1433:192.168.1.50:1433 -N

FreeBSD

Get S.M.A.R.T for 3ware raided HDDs (disks starts from 0, 1, 2...)
# smartctl -a -d 3ware,0 /dev/twa0
Renew sendmail aliases
# cd /etc/mail
# make
# newaliases

Various interesting links


Background jobs with php and resque: part 1, introduction
http://www.kamisama.me/2012/10/09/background-jobs-with-php-and-resque-part-1-introduction/

Lazy pictures loading
http://speckyboy.com/2012/10/18/how-to-create-lazy-loading-images-for-your-website/

Nice notifying system for bootstrap
http://nijikokun.github.com/bootstrap-notify/

C# Async Await
http://habrahabr.ru/post/162353/#habracut

Twig PHP Template Engine
http://twig.sensiolabs.org/

PHP Coding Best Practises
http://www.phptherightway.com/

ACL phpGACL - русская документация
http://php.russofile.ru/ru/translate/rights/phpgacl/

jQuery Freetile div container organizer responsive
http://yconst.com/web/freetile/

Video: Multi-tasking in PHP
http://jonathonhill.net/2012-12-19/video-multi-tasking-in-php/

Responsive Grid Layoyut
http://suprb.com/apps/gridalicious/
http://www.dwuser.com/education/content/creating-responsive-tiled-layout-with-pure-css/

Nice charts with JavaScript
http://tenxer.github.com/xcharts/
http://techslides.com/50-javascript-charting-and-graphics-libraries/

MODBUS/TCP to MODBUS/RTU gateway server
http://mbus.sourceforge.net/

Free Responsive CSS Design Tools
http://www.designsanduiche.com/2013/02/free-responsive-css-design-tools/

to be continued...