{ "info": { "author": "Lawrence P. Klyne", "author_email": "pypi@lklyne.co.uk", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Operating System :: POSIX :: Linux", "Programming Language :: Python" ], "description": "=========================\nConsole Server\n=========================\n-------------------------\nLawrence Klyne\n-------------------------\n\nThis is a console server. It can connect to 1 or more serial ports and make these available over SSH.\nThe data to and from the serial port can be logged to local disk. There is also a cli interface\nthat can be used to reconfigure the serial ports.\n\nThe reason for writing this is the off the self solutions, Cyclades etc., are not cheap, a similar \nsolution can be acheived using a raspberry pi and readily available usb to serial adaptors.\ne.g. this 16 port one for under \u00a3200\nhttp://www.easysync-ltd.com/product/636/usb2-h-1016-m.html\n\nA write up about this can be found on http://www.klyne.org/console-server.html an update is to follow.\n\nAuthentication\n--------------\nVersion 0.2 and later uses unix password file and users authorised keys for \nlogon.\n\n\nPriviledges\n=============\n\nThe consoleserver has to run as root currently to access password file for user authentication\nto work at ssh login.\n\nThe CLI interface is only allowed by users who are members of the groups root or sudo.\n\nIssues\n---------\n\nUSB hot plug\n=============\n\nOn ubuntu modem-manager is run against all serial ports to probe for it being a modem, \nthis interferes with the monitored console collection. You may want to add a blacklist udev\nrule to prevent this. 99-usb-blacklist.rules is a sample rule file and goes into /etc/udev/rules.d\n\nGroup membership\n=================\n\nBy default serial devices belong to the dialout group so the user running the console server needs to \nbe a member of this group or to run as root.\n\nCLI Interface\n-------------\nThere is a CLI interface accessible over SSH that can be used to reconfigure the server and serial ports,\nas of version 0.3 this can only be accessed by users belonging to the root or sudo groups - i.e. they\nhave admin rights on the server. This by default is on port 8022 so ssh -p @
.\n\nThe configuration of active serial ports is not acted on immediatly issue reload this is so\nyou can change multiple parameters. \n\nConfiguration changes are not committed to disk until they are committed using the commit command. This\nallows for temporary changes to try and get a port working.\n\nPort names are the full device name, i.e. /dev/ttyUSB0\n\nCommands\n==========\n\nhelp\n Simple help.\n\nlist\n List configured ports, these may not all exists on the system.\n\nstatus\n Show active ports.\n\nexit\n exit and close CLI connection.\n\ncreate \n Create a new port configuration in the config file. The default config already lists 32 ports.\n\nreload \n Close and reopen the named port\n\nshow \n Show current configuration of the port\n\nstop \n Close the port\n\nstart \n Open the port\n\nenable <0,1>\n Mark port for auto open as soon as it is seen. Note it may be a USB device that is not yet plugged in but\n will be opened once plugged in.\n\nbaud \n Change port baud rate.\n\nbytesize <5,6,7,8>\n Change port number of data bits.\n\nstopbits <1,2>\",\n Change port number of stop bits.\n\nparity \",\n Change port parity, None, Even, Odd, Mark, Space.\n\nrtscts <0,1>\",\n Change port to use RTSCTS for flow control - hardware flow control.\n\nxonxoff <0,1>\",\n Change port to use XON XOFF for flow control - software flow control.\n\nsshport \",\n Change ssh port that directly connects to the serial port.\n\nlogfile \",\n NOTE loggign has been rewored and to chnage logfiles names and locations you will need to edit\n the logfile.ini and then restart the consoleserver, this allows the easier management of logfiles.\n\nportmonitor \n Change the directory to monitor for new serial ports, the port (device) names must already exist in the config for\n the consoleserver to open them as soon as they are plugged in.\n\nInstallation\n--------------\nThe package is set up to install on Ubuntu at present dropping relevnt files where required on the\nfile system. You should be able to install and then enter sudo /etc/init.d/consoleserver start\nto get it running as a daemon. sudo consoleserver will run it in a terminal window logging to the screen.\n\nFile locations\n--------------\nThe system looks for config files in i) current directory, ~/.consoleserver (Posix) and\n/etc/consoleserver. If not found it will use the defaults in the python source directory.\n\n\nConfig File\n=============\n\nThe system will create a default config file in /etc/consoleserver called config.ini this will be created\nto access serial ports ttyUSB0..ttyUSB31. The default management port is 8022 and the \ndefault serial ports are on 8023..8054. \n\nIf the sshport is not given for a port then no ssh listener is started for that serial port.\n\nLogFiles\n===========\n\nA change with V1.0 was to use python logging to handle all logging, there is now a configuration\nfile (logging.ini) which is passed to fileconfig to setup the logging streams. The logging \nhandler names are generated from the the numeric suffix of the port names, i.e. port.11 for ttyUSB11.\n\nOthers\n===========\n\n /etc/init.d/consoleserver\n /etc/udev/rules.d/99-usb-blacklist.rules\n\nYou will have to make /etc/init.d/consoleserver executable if you wish to run this as a daemon.\n\nUnit Tests\n----------\n\nMost of the code is unit tested.\n\nPYTHONPATH=../consoleserver nosetests\n\nLicence\n--------------\n\nThe code is licenced using the GPL, see included LICENCE file. At present any other licence is subject to negotiation.\n\n\\(C\\) Copyright L P Klyne 2013-2015", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/LawrenceK/console-server", "keywords": "console,server,ssh,serial", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "ConsoleServer", "package_url": "https://pypi.org/project/ConsoleServer/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ConsoleServer/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/LawrenceK/console-server" }, "release_url": "https://pypi.org/project/ConsoleServer/1.0.2/", "requires_dist": null, "requires_python": null, "summary": "This is a logging console server that can also be accessed over ssh.", "version": "1.0.2" }, "last_serial": 1447405, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "5202742564440410e4587f3ba9e735af", "sha256": "946be349dd70c72a9cd8c6ff1624cdfb1174de926124b9f5809e0fdc600478c8" }, "downloads": -1, "filename": "ConsoleServer-0.2.tar.gz", "has_sig": false, "md5_digest": "5202742564440410e4587f3ba9e735af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7914, "upload_time": "2013-03-19T13:52:01", "url": "https://files.pythonhosted.org/packages/da/63/23c130b2e178e00e3af2776866c8b1bb522fd926f562f11286b5e56aca8c/ConsoleServer-0.2.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "f0c4b4bd01566318f3974a785d37fd08", "sha256": "2bd342bede5b0b2fc2b58bbc8113c9bd75ef907a49b9ec7772244573602ee854" }, "downloads": -1, "filename": "ConsoleServer-0.9.tar.gz", "has_sig": false, "md5_digest": "f0c4b4bd01566318f3974a785d37fd08", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26538, "upload_time": "2013-05-27T19:55:46", "url": "https://files.pythonhosted.org/packages/ef/ff/88d0583d7deb7d4974affdcfb35e19361de598abaa8bbb08f1dcb08a4046/ConsoleServer-0.9.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "ffa8f19ca82f2c1ac3a3ee2f486f8054", "sha256": "691525de2c90570c263d5da69cdacd09b0db027a333bd595e952332e50ab11e1" }, "downloads": -1, "filename": "ConsoleServer-1.0.1.tar.gz", "has_sig": false, "md5_digest": "ffa8f19ca82f2c1ac3a3ee2f486f8054", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28231, "upload_time": "2015-02-27T12:24:04", "url": "https://files.pythonhosted.org/packages/27/ad/166fd6d71361a5102e90538d3ecf149f6c896d49d53ae3ecd020bd42e9bf/ConsoleServer-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "fc634a0817c47d6d08cd75430764bcee", "sha256": "28af3323a372727212007ad2b7c8a62f3db36859dcc6f5f741da265bdb334885" }, "downloads": -1, "filename": "ConsoleServer-1.0.2.tar.gz", "has_sig": false, "md5_digest": "fc634a0817c47d6d08cd75430764bcee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28044, "upload_time": "2015-03-04T10:21:38", "url": "https://files.pythonhosted.org/packages/77/8a/030075d1db7d6e3ea7d853d1086348737eafe3836f5c498c2a65675e4b01/ConsoleServer-1.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fc634a0817c47d6d08cd75430764bcee", "sha256": "28af3323a372727212007ad2b7c8a62f3db36859dcc6f5f741da265bdb334885" }, "downloads": -1, "filename": "ConsoleServer-1.0.2.tar.gz", "has_sig": false, "md5_digest": "fc634a0817c47d6d08cd75430764bcee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28044, "upload_time": "2015-03-04T10:21:38", "url": "https://files.pythonhosted.org/packages/77/8a/030075d1db7d6e3ea7d853d1086348737eafe3836f5c498c2a65675e4b01/ConsoleServer-1.0.2.tar.gz" } ] }