Rodi (P2P)
How to...
Message board

SourceForge.net Logo
Get Firefox

Valid HTML 4.0! Valid CSS!

If you want to download the source code for emLib or Rodi

click http://sourceforge.net/projects/rodi/
or from Rodi CVS
on *nix to checkout Rodi from CVS use command
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/larytet co CVSROOT/rodi/java
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/larytet co CVSROOT/rodiMng/timple
For emLib
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/larytet co emLIB

How to use DHCP client in u-boot

First of all you have to program u-boot  with DHCP/BOOTP client (see
attached file)

tftpboot a0800000 u-boot.bin
protect off 1:96-97
erase 1:96-97
cp.b  a0800000 bfc60000 30210

Reboot the card to make sure that u-boot works

Configure the card according to this

nfsboot=setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath ip=
$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off console=
drate $othbootargs;tftp $loadaddr $bootfile;bootm $loadaddr\











bootcmd=setenv bootargs root=/dev/mtdblock0 rw rootfstype=jffs2 ip=
lash:12M(root),-(ROM)ro; dhcp; bootm bfc60000










uimage=tftpboot a0800000 uImage ; erase 1:99-127 ; cp.b a0800000
bfc60000 ${filesize}

Important things to pay attention to:
- bootcmd starts from running DHCP client and setting environment
variable bootargs
- there is no environment variables ipaddr and bootargs
- two variables added  autoload=no and dhcp_boot=dhcp
- command 'run uimage' will program the kernel to the FLASH

To set variable bootcmd you can use command like this (pay attention to
the escaping '')

setenv bootcmd 'dhcp;  setenv bootargs root=/dev/mtdblock0 rw
rootfstype=jffs2 ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:
${hostname}:eth0:off mtdparts=phys_mapped_flash:12M(root),-(ROM)ro;
bootm bfc60000

If you want to watch CNN videos in Linux and Firefox

Install GreaseMonkey extension for Firefox from http://greasemonkey.mozdev.org/, open the following link in your Firefox http://larytet.sourceforge.net/betaTesting/cnnvideolink.user.js, click menu Tools/Install This User Script. you have to restart Firefox (make sure that you close all Friefox windows). Open CNN.com. Move mouse over WATCH button or any video link. In the status bar at the bottom of the window you should see link with .ASX extension. Everything is fine. Click it. Configure Firefox to open your favorite media player for ASX files. Recommended (tested) players are gxine and mplayer.
Similar patch is also available for playing video/audio files from MarketWatch.com if you want avoid Windows Media Player and another script for watching video clipls on iFilm.com

If you want to get rid of Google ads on all websites you visit

There is more than a couple of ways to remove Google syndication ads from the web sites you visit. One approach which i did not try is install AdBlock extension in Firefox and block everything containing 'ads'.
The method i personally use requires GreaseMonkey exntension for Firefox and this script. You can try also this script http://docs.g-blog.net/code/greasemonkey/hide_google_adsense.user.js or check website http://userscripts.org/tag/google
Make sure to block images from *.googlesyndication.* You will see 1 pixel image on many websites with image downloading from http://pagead2.googlesyndication.com/pagead/imp.gif
Alternatively you can consider using AdBlock extension and filter *googlesyndication* (see menu Tools/AdBlock/Preferencies). AdBlock prevents loading and executing JS in the first place.

NAT presentation I prepared recently

NAT presentation (PDF)
NAT presentation (OpenOffice Impress)

Buying EST WindRiver VisionClick ?

I suggets to think again and consider cheaper and better alternatives. The software does not support 16 bits Flash devices from AMD/Spansion.
Installation of Tornado on Solaris ? The whole license keys model is completely screwed. Consider to buy one Tornado seat or just a BSP package and use command line tools and Eclipse instead of Tornado II. Besides dramatic cost savings to the tune of 100s thousands USD for large software projects Eclipse (or emacs or gvim or just anything else) is easier to integrate with other applications.

Every Tornado costs about what EJTAG+VisionCLICK and JTAG debugging is more reliable. if you are not looking for task level breakpoints and ready to use Windows for debug may be JTAG is a way to go.

Let me repeat again - in case of Wind River System higher price does NOT buy better product. Choose products carefully, compare alternatives.

Apparently WindRiver stopped (Dec 2006 ?) to support VisionClick and pushes WorkBench. The environment is Eclipse based and relatively slow, but the major problem - it costs money and licensed and protected with keys and requires e-mails to unlock and so on. Now the new probe with USB - prepare RedHat/SuSE Linux. Debian is not an option. WindRiver decided to use proprietary USB driver (Jungo ?) instead of standard open source libUSB. Jungo may be is a great company and may be their products are excellent, but unfortunately I can not compile the driver, because the driver is closed source. WindRiver could define HDI or work in simple bulk mode and use libUSB.

Quick tip. This is suprisingly difficult to find good (or reasonably good) terminal emulation client able to connect to serial port. there are some freeware and shareware, but they are extremely annoying in asking money. I suggest to look for VaraTerm for Windows (Linux has not these problems - minimcom does the job just fine).

Another quick tip is related to the UART driver for vxWorks and Shell. Implement ioctrl function with something returning OKs and ENOSYS. Do not skip this function. Do not try to return OK or ERROR in all cases. vxWorks Shell will display 'unknown command' every time you press a key.

To Shaw Fiberlink users:

I assume that the Ellacoya promise that the shaper is statefull is true. In simple terms it means that they create an entry for every established TCP connection and keep the record in the database thorugh the whole lifecycle of the connection (i have my doubts about how reliable such thing can be if they do not terminate the connection in their box, but this is separate issue and not related to the current problem). I would post on some popular website the following suggestion to all BT users who suspect that traffic shapers installed on their gateways

Try one of alternatives

  • Start download multiple dummy torrents. Configure your BT client to use 1kB/s of upstream and 1kb/s of downstream and up to 2000 connections for every one of these dummy downloads.
  • Run SYN port scan using port scan tool like NMAP from http://www.insecure.org/nmap/ for some well known and reliable WEB server like Google or Yahoo.

Explanation. Traffic shaper keeps/records all existing TCP connections or 'flows'. Because performance of the box is expected to be high they probably use special kind memory like CAM. It is very fast but has limited size. Let check how reliable the box is. I suggest to create multiple dummy TCP connections and run them in the background. You can call it stress test. Every desktop can create about 60K connections simultaneously. i think that reasonable number of connections somewhere on the order of 2-10K. Important ! Every connection costs may be 32-64K RAM depending on OS and TCP/IP stack settings. In case of Windows you will need 512M RAM at least to run such number of connections without signifcant performance degradation. Also make sure that you are not behind NAT - your IP address returned by ipconfig command is the same as one you see here http://www.broadbandreports.com/whois
Average CMTS supports between 20-100K of modems. If 10% of modems establish 2000 conenctions each we are talking about 10M connections. If single record size is 16 bytes we have 160MB data base. There is no way to store it in CAM memory.
If Ellacoya equipment attempts to terminate TCP connection (or PROXY the TCP session) the most painfull for this device is going to be establish of TCP session. My wild guess that they can handle no more than 200K connections/s. It means that for 50K users CMTS we have to establish (and immediately close) 5 TCP connections/s for every one of 50K IP addresses to bring the system down.
Pay attention that depending on CMTS it can bring down the gateway (router) too, but i think that probability is low - packet forwarding is much simpler task than traffic shaping.

Another interesting comment can be found here http://www.internet2.edu/~shalunov/netkill/netkill.html
The idea is to establish TCP connection and let it to run forever. More details on how load balancing systems are affected.

From Ellacoya website
The traditional approach to traffic classification on IP networks associates an application with a TCP or UDP port number. For example, HTTP uses port 80 and FTP uses port 21. But this approach fails with peer-to-peer traffic because as much as 60% of peer-to-peer traffic appears on random port numbers. This behavior is commonly known as port-hopping. To accomplish this, however, the peers need to understand what real payload is. For example, if the peer-to-peer desktop application randomly decides to have the traffic appear as HTTP, or web traffic, the other peer needs to understand the incoming traffic is actually peer-to-peer traffic and not web traffic. It's similar to the way in which encryption systems work - both ends need to understand how to decode the message. The peer-to-peer designers accomplish this by the use of 'signatures' embedded in the data packet. So, if one knows what the signature looks like and can look inside each data packet traversing the network, one can identify peer-to-peer traffic that are pretending to be something else.
Weak encryption like XOR with key unique for every file (it can be, for example hash of the file) will bring this system to the knees. Such traffic shaper can do absolutely nothing with encrypted data. Actually it can not even recognize that the data is encrypted.
Talking about multiplayer games you guys gave me great idea, thank you.
I understand that you read this website. I think that we could discuss the problem of trafic shaping in the modern networks openly on this website message board. I think that the problem is significantly more complicated than many beleive. It does not mean that there is no solution - there is, but it is not apparent.

From Ellacoya website
In many instances, reducing the amount of bandwidth consumes by peer-to-peer applications can result an additional 25% of the subscribers added to the network without the need for additional CMTS, node splits or other HFC capital investments.
25% is considered to be dramatic impovement ? and what about VoIP, VoD, etc. ? In many applications the traffic is symmetrical, including e-mail. What about personal WEB servers ? In my opinion ISPs have to solve the problem using rational approach.

From Ellacoya website
With the ability to detect and prioritize VoIP applications by subscriber and service provider, the broadband service provider can choose a service delivery model that best suits its needs. For example, once traf.c from a non-facilities based voice service provider is identi.ed, the provider could strike an agreement with the service provider to prioritize its traf.c, or market QoS to the subscriber directly for service enhancement. A large provider rolling out its own VoIP service might guarantee QoS for its service, while leaving all other VoIP traf.c untouched as currently done today.
Does it mean that SBC and Skype will deliver different voice quality ? Do ISPs (broadband service providers) agreements with their customers mention 'service delivery models' for different service providers. Actually it is very easy to prove that ISP does use traffic shaper. Take any two nodes behind the same default gateway and run different applications on them.
See also dslreports.com Shaw forum

If you use Nedstat basic

and want to avoid counting your own clicks, for example, when you test the page, just block images from "n1.nedstatbacicn1.com". FireFox browser supports image blocking.

If you use PuTTY Secure Copy client

on MS Windows 2000 and want to upload simultaneously multiple files the following batch files can be helpful

@SET SRC=C:\arkady\emLib\www
@SET PSCP_PATH=C:\arkady\download
@SET TARGET=larytet@shell.sourceforge.net:/home/groups/l/la/larytet/htdocs
@start /B upload.bat %SRC%\index.html %TARGET%
@start /B upload.bat %SRC%\btRat.html %TARGET%
@start /B upload.bat %SRC%\contents.html %TARGET%
@start /B upload.bat %SRC%\sourceForge.html %TARGET%
@start /B upload.bat %SRC%\emLib.html %TARGET%
@start /B upload.bat %SRC%\emLib.css %TARGET%

@echo %PSCP_PATH%\pscp.exe %1
@%PSCP_PATH%\pscp.exe %1 %2 < deploy.txt
@echo %1 - Done

deploy.txt contains your password and newline
Download the files.
Warning ! If you copy the batch files from this page remove end of line blanks

if eMule download is slow

check connection limits and set max connections to 10 or more connections for every active download you run. for example, if you see 5-6 downloads running it requires about 60 opened TCP ports.

if you want to find out what IP range your ISP use

for example, my ISP (Barak, Israel) use among others range - (correct for 29 Aug 2004). How do I know that ? You can try any tracert program like Symantec Trace Attack (requires IE 5) or http://visualroute.visualware.com/ to trace your own IP address. yet another one is http://www.broadbandreports.com/whois or you can try this one http://larytet.sourceforge.net/printIp.php
Click the last line column network (in my case it was Barak I.T)
You will get something like this
inetnum: -
netname: BARAK-11
descr: Barak I.T.C
country: IL
admin-c: BPT2-RIPE
tech-c: BPT2-RIPE
remarks: Send Spam and Abuse complains to abuse@barak013.net.il
mnt-by: BARAK-MNT
notify: hostmaster@barak.net.il
changed: hostmaster@barak.net.il 20030706
source: RIPE
Obvious, right ? This is not the only range Barak has. If you want to find out all ranges belong to Barak this place can help http://www.ripe.net/db/whois-free.html (try to search for Barak I.T.C)
Today's Internet is a city where a person reports social security number just to cross a road. Imagine WWW using 128 bits random keys instead of IP addresses. ISP only registers generated by the client (you) key and propagate it through the network of DNS servers. Client can generate new key every 2 hours, for example. Router is implemented as a giant (~5G entries) table which connects 128 bits key and interface. Such network would garantee acceptable level of anonimity.

if you find requests to favicon.ico in the HTTP server log

you can generate such file (16X16 pixels, 16 colors) using any ICO editor or add line
<link rel="shortcut icon" href="" type="image/x-icon">
between <head> tags in the html file(s). For example
<link rel="shortcut icon" href="" type="image/x-icon">

href to hopefully will redirect the browser to the local system, where borwser runs. I used this trick for embedded device with limited resources like FLASH, file system, etc. Typically WEB server will have such file.
FireFox makes an attempt to download favicon.ico even if there is no any bookmark. Just the fact that you access a WEB site is enough. FireFox will use favicon.ico for the tab where the WEB site is shown. IE's (at least IE 5) behaviour is unpredictable - sometimes it will try to download the file and sometimes it will not.

if you think that RIAA issues subpoena

This is Subpoena Database Query Tool Electronic Frontier Foundation (EFF)

if you worry about RFID Tagging

Very simple device with a couple of AA batteries, capacitor and magnet can burn any chip. The idea is simple. Generate 100KHz electomagnetic field for a 100 millisconds and reasonable level of current. I am absolutely sure that i am not the only one who though about this and you can find the shematics with google. Such circuits are used in photoflash and i guess should be available in electronic store near you. Small modification - connect magnetic circuit instead of flash, and here it is - a RFID burner. The size of the device should not exceed regular palmtop. See also http://www.spychips.org/ .

if you want to surf the net anonymously

Use WiFi and any LEAP/WEP cracker. There are plenty available and some are open source (see http://blogs.zdnet.com/Ou/index.php?p=21). Read also http://assembler.law.cornell.edu/uscode title 17

Online virus scanners


Suspect that you have hardware keylogger ?

Open any active message board or news web site in your favorite internet browser. Use mouse to select and copy-paste letters when you are prompted for password or posting sensitive text.

Electronic Password storage

There are devices on the market which are intended to be a electonic storage of passwords. In one i read about recently it works like this
  • Before you start to use the device you enter five strokes sequence using five different keys
  • The device will require to reproduce the correct sequence every time you login
  • Device keeps up to 20 passwords with notes and can generate strong passwords based on history of movements (kinetic)
I started to think how one could open the plastic, fetch the EPROM/FLASH or whatever they use to store keys on and read the data with regular programmator. Even if encrypted with this 5 strokes pattern this is a joke. And if it uses some conventional algorithm logic analyzer could help to discover the decryption key and if discovered once works for all (or all devices are made unique ?) One could suggest to protect the memory against mechanical damage - erase the chip if contact with oxygen, for example. But again the very fact that i posses this advanced model is a clue that probably I have good reason to do it.
Not to say that i do not see a better solution (see PuTTY generator, for example). I need touch sensitive screen of reasonable size - let's say 64x64 pixels. In the initialization step device prompts to draw a figure on the screen using basic shapes and choosing among predefined set of different colors. Device will use this figure (shapes, colors, size and relative location of the shapes) to encrypt all sensitive data. Every time you add new key to the store or login you have to reproduce the intial drawing.


Message board