KEAP: King Enzo Ark Projects
digital-powerizer and i2c-powerizer: the missing rings in Domotics:
The digital-powerizer is a mains switch driven by a digital signal.
In my applications digital-powerizer come in units containing eight parallel
The second i2c-powerizer is a circuit used to turn on and off eight
digital signals. This latter circuit can drive eight digital-powerizers
to turn on and off eight loads (e.g. eight lights).
Read the paper for a complete description and
download here the
software for the microcontroller.
This (very simple) circuit emulates a XGA (1024x768) monitor.
When connected to a VGA analog socket (the standard mini sub D15)
the graphic card recognizes the presence of a monitor.
Read the paper for a complete description.
Dbind: A IPv4 IPv6 automatic
tool to update bind9 tables. Dbind can be used to implement dynamic DNS
or as a tool to create and update IPv4 IPv6 DNS tables just by using a
single simple command (no addresses must be inputed or file edited. It
is quite impossible to create inconsistent tables).
( here on
Webconf: A simple Client-Server
tool to do presentations on the web. Each webconf user starts his/her
client program together with a Mozilla compliant browser. The operator
at the server will be able to broadcast URLs that will be visualized on
all connected browser (actually it is also possible to remote control
each user's browser independetly, if needed).
It is useful to broadcast the slides during a remote E-lecture.
( here there is a pre-release of the code).
ULN: User Level Networking.
Permission to access the network at the user level: each user can have
his/her private IP (or no access at all to the network). Users can have
different services, load shaping or can de directed to different
hardware interface. Based on an idea of mines, it is now a sourceforge
project. The first release has been designed and implemented by
Alessandro Pira and Enrico Tassi. ( here on
Sourceforge ). It is full functional in
IPv4 it is going to be ported in IPv6.
Prometeo: We currently use
several proxy for several purposes: caching, protocol translation,
Prometeo is a single proxy engine that can be loaded (run time) with
In some sense this is similar to inetd for TCP servers: long time
ago there were several server programs one for each service always
running on a network server (several of them were idle the most part of
the time wasting resources).
Prometeo is the idea of inetd applied to proxies.Based on an idea of
mines, it is now a sourceforge project. The first release has been
designed and implemented by Simone Tellini. (here on Sourceforge ). It is IPv4
and IPv6 compliant.
Vite: Firewall for public access
wired/wireless lan access. It is based on a ssh authorization: each
user must authenticate himself/herself using a ssh session. Internet
connectivity is guaranteed as long as the ssh session is on. Vite
provides also MAC address checking and logging, IPv4 and IPv6
compatibility, integration with dbind for DDNS registration of users.
(Developers: Leonardo "Leo" Macchia, Marco Giordani and Mauro Amico)
tar.gz file can be downloaded here
Damigiana: CD-ROM Juke-box
utility. Useful for public access CD-recorders: users can burn
CD-images chosen from a pre-assigned list. Multiple recorders per
machine support, no direct access to the recorder thus it is not
possible for user to abuse the service for software piracy or copying
other unathorized data.
Screen-P800(Coming Soon) A patch for
the screen utility to support simplified keyboards (without ctrl and escape
keys). I am currently using this feature to support the putty terminal
emulator for the P800 smartphone. (temporarily provided *pre-release*
as a complete
screen-3.9.15 patched distribution here )
VDE: Virtual Distributed Ethernet
VDE can be useful for: (1) interconnecting local and remote User-Mode-Linux,
MPS virtual machines or real machines between them and to the Internet, (2)
creating tunnels for almost any protocol supported on ethernet (e.g.
IPv6 on IPv4 and viceversa); the client end can be also inside a masquerated
(NAT) subnet, (3) supporting mobility: the VDE-switches can change at run-time
the tunnels inteconnecting them without affecting the communication in place.
The code is an evolution of the uml-router (c) 2002 by Yon Uriarte and Jeff
Dike. It can be used also for students' lab usage of UML.
(download it from sourceforge here ).
Ale4NET: Application Level Environment for Networking
Using Ale4NET IP addresses can be assigned to single applications or group
Ale4NET works at user level: neither kernel modification nor root access
is needed to start Ale4NET.
You can use your favourite applications on Ale4NET by just setting one single
It can be used to create user level VPN, to use IPv6 on a machine that does not
have IPv6 support in the kernel, to test the communication with virtual
machines without using the tuntap interface....
Everything can be done as standard user: no root access required.
(download the alpha version from sourceforge here ).
Mity Mite GPIO device driver
Mity-Mite is a wonderful board for embedded systems.
It implements a 386like processor with 4megs of RAM, LAN interface.
IT has also 16 lines for general purpose I/O. This is the device driver for the
LInux kernel. Detailed information of the application layer interface are
in the README file. It can be downloaded here
OV511 v.2.28 driver patch for Linux 2.6.11
OBSOLETE: my patch has been merged into the mainstream driver
Linux Kernel 2.6.11 breaks the OV511 webcam/TV driver for three reasons:
1. remap_page_range does not exist (The log message is "ov511: Unknown symbol
remap_page_range") 2. USB parameters idProduct and idVendors are kept in
little endian format (previous kernels converted those data in cpu format)
3. usb_unlink_urb is deprecated (messages and stack dumps on the logs),
usb_kill_urb must be used instead for synchronous streams.
1. and 3. affect all the systems while 2. appears only on Big Endian computers
(with log error messages like: "Unknown product ID 0x1105").
This is the patch to fix
See also Virtual Square and