Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

JSModem for JSLinux

branch: master

modified: cpux86-ta.js

modified:   cpux86.js
modified:   jslinux.js
modified:   term.js
modified:   patch_jslinux.js
- Fixed error: support of newer browsers in cpux86*.js
  by upgrading to latest version of JSLinux (Jan 11, 2012).
- Note: still using old root.bin with pppd support, hence
  a fallback to ram0 booting with no IDE support (and other
  goodies). But you are always free to buildroot from your own
  BusyBox-based kernel configuration.
new file:   utils.js
modified:   Makefile
- Added support for utils.js file.
modified:   index.html
- Refined organization of HTML.
latest commit 37e023625e
Yauhen Yakimovich authored April 30, 2012
Octocat-spinner-32 doc Initial commit of a fully functioning version. July 03, 2011
Octocat-spinner-32 emulator modified: cpux86-ta.js April 30, 2012
Octocat-spinner-32 linuxstart Initial commit of a fully functioning version. July 03, 2011


Provides a virtual modem device for JSLinux platform. It is a result of studying project conducted on PC emulator that was implemented in JS by Fabrice Bellard (see There is a screencast discussing this project


  • Get a copy by cloning the repo from

  • Run make all in jsmodem/emulator to download and patch JSLinux from (This step is still valid but left as a fallback. Right now the jslinux version is in sync with the version on the website of Aug 20, 2011).

  • Start serving JSLinux locally with sudo ./

  • Navigate to http://localhost:2080/ This should boot the guest system.

  • Login as root and run ./ppp_up to bring up the ppp interface. Check it with ifconfig and ping.


JSModem script is heavily based on JSLinux project, hence browser must be modern enough to support it. Another project websockify provides websockets abstraction with fallback to flash.

To serve on host system one will need

  • python 2.6+

  • bash

  • sed

  • gawk

  • grep

  • pppd

  • socat

  • iptables


Internet connection was tested on

  • host server: linux 2.6.35 - ubuntu 10.10 Maverick, linux 2.6.38-11 - 11.04 Natty Narwhal host client: Chrome 12.0.742.112 (linux), FF 3.6.8 (linux), Chrome 14.0.835.202 (linux)


For now, best way to give some feedback is to email eugeny dot yakimovitch at gmail dot com with subject jsmodem. Test reports are greatly appreciated.

wbr, yy

Something went wrong with that request. Please try again.