→So in contrast to the, the Serial Ports needs some software running on the CPU so we can use it! In case the bootloader is damaged, or does not offer such a feature, the port is useless.Finding an UART on a router is fairly easy since it only needs 3 signals (without modem signaling) to work: GND, TX and RX (often accompanied by VCC). Cleanup Required!This page or section needs cleanup.
Some catalogs are covering several scales; in a few occasions, only the pages related to N scale have been included. As far as we can (or remember) we indicate our sources, recognizing the excellent work performed by several passionate modelers in gathering, scanning and publishing older catalogs.Except for this blog page, all catalogs are presented in list, in their directory. Many of our sources have opted for a much nicer presentation, but our goal here is to provide easily accessible catalogs for reference. Note that the resolution can vary from very low to excellent, depending on the source.
You can this page to fix wiki markup, redundant content or outdated information.Many people get along without a serial console for their device because they are able to flash working firmware the first time or are able to apply various recovery methods and do all their communicating with the device over a network. However, due to characteristics of their bootloaders or because they are not yet fully supported, for some devices it can be quite handy to have a compatible serial console available.Most devices that are supported by OpenWrt include a serial port. These serial ports typically provide a console to the bootloader and, when the firmware has booted, a console to the running system. Typically, a console to the bootloader will allow you to configure a network, fetch and flash a new firmware, which can be a life-saver when the firmware is broken. A console to the running system will let you correct a misconfigured network. Warning!This section descripes actions that might damage your device or firmware.
Proceed with care!Caution: Very few devices have standard +/- 12V serial ports, but in many OpenWrt-supported devices the serial ports operate at TTL voltage (sometimes 5V, most often 3.3V) levels, meaning you cannot use a standard serial or USB to serial cable: it will fry your board.In order for the serial console to work, the logic levels on the wires should match those expected by your device. The first step therefore is to determine which voltage levels are required. Often, you can find this documented on the OpenWrt wiki or elsewhere.Check your device's voltage levels with this chart. For detailed description look In addition these levels are averages for the type of devices shown.
In order to interact with your device over its serial port, you need a minimum of three wires connected: a ground (GND); transmit (TX); and receive (RX). It is possible to get useful information about what is happening with only GND and RX, but in order to fix a problem you will usually also need TX. Your computer's TX should be connected to the device's RX, and your computer's RX should be connected to the device's TX. The computer's GND should connect the the device's GND.
Windows Serial Port Programming
That way, what you say will get heard by the device and what the device says will get heard by your computer. This is often called a 'null-modem' configuration.You will also need a terminal emulation program on your computer, such as minicom, hyperterminal, etc. The terminal emulation program needs to be configured to be compatible with your device, in particular, with regard to baud rate and flow control. If you are using only three wires (GND, TX, and RX) then hardware flow control should be turned off; you aren't using the pins (RTS and CTS) necessary for it to work. Rarely, the baud rate that the device expects might be different in the bootloader and the running firmware; if so, you'll need to modify the baud rate settings in your terminal emulator after the firmware boots up. First, you need an 'RS232-TTL level converter chip.'
RS232 refers to the standard defining what plugs into your computer, and TTL is a family of chips that use 0V and 0.8V as low and 2.2V and 5V as high. They can be purchased new (the MAX233x line is popular). Most vendors have large minimums, but some (e.g. ) sell components in small quantities.The wiring is fairly simple, but it depends on the chip.
Generally, it involves connecting Vcc from the router to the chip's Vcc pin, both router and rs-232 grounds to the ground pin, and the TX and RX wires to the chip. Remember that the router's TX will 'connect' to the same level conversion bank as the computer's RX.
Additionally, some of these level converters require external capacitors, while some have them built in. Much of this varies, so consult the chip's spec.
Another great source for RS232-TTL converters is in cell phone serial cables. Most cell phones need this same circuit to level-up for connection to a PC's serial port. Many people already have such a cable laying around, or can buy one fairly cheap. Using an existing cable is much easier than building one. If you open up the cell phone cable's serial port casing and see a MAX### chip, it's probably the cable you need. One known chip is a MAX323 (yes, 323, the original MAX232 is a 5V device and we need 3.3V here).If you've found a good cell phone cable to use, you merely need to determine which wires are the VCC, GND, TX, and RX connections.
Usually the VCC is red and the GND is black, but the other colors may vary (though blue and orange are common). There should be no need to modify the PCB embedded in the cable.One type of the 'Made in China' ones, not mentioned at ist the 'S30880-S5601-A802-1'; its WHITE wire is data out (TX) and the ORANGE one is data in (RX), VCC and GND are red and black. Its a 3.3V converter built with the MAX3386E chip. This leaves two pins to identify: RXD and TXD. It's easiest to find the router's TXD pin first, because all the console output from the boot process appears there.
Connect the RXD pin of your level shifter to one of the remaining console pins and re-start the router. You should have a terminal window connected to the serial port at the correct bitrate and parity, and you've connected the proper pin, you should see output data the router's startup process.
If not, try another pin, restarting the router until you receive valid output. Now you've located the serial port TXD connection.
After my last post on, I was inspired to investigate other 'interesting' data to stream from a WiFi hub. In particular I was hoping to sniff some ESP8266/ESP32 packets during development.I had an old Linksys E1200 on hand. Things looked a.
However the router noted there was apparently slightly different than mine (I have the Cisco logo) so I thought I'd give it a try.At the bottom of the page I found a link to the and downloaded it (there are in case you don't have a V2, etc). Install was easy from the stock Linksys firmware.
I was able to easily telnet to IP 192.168.1.1 - a fixed address when plugging the router into my test network, not via DHCP. This also meant it had no clue as to DNS, default router, etc. Surprisingly LuCI came pre-installed with the bin image. I still edited the config file manually.You'll probably need to use vi to edit the if you don't use LuCI:i - to insertesc:qw - to same and exitI added only 2 lines to the /etc/config/network file - the gateway and dns settings:config interface 'lan'option ifname 'eth0.1'option forcelink '1'option type 'bridge'option proto 'static'option ipaddr '192.168.1.1'option netmask '255.255.255.0'option gateway '192.168.1.10'option dns '8.8.8.8'option ip6assign '60'Reload the network settings:/etc/init.d/network reloadTry to ping google.com (or anything on the internet) from the router.
Most people get along without a serial console for their device because they're able to flash a working firmware the first time - or are able to apply various recovery methods - and do all their communicating with the device over a network. However, some bootloaders don't have a “really failsafe” network re-flash feature, making a serial console one of the few ways to recover from a “bad flash” or an error in a user's own configuration.Most devices supported by OpenWrt have or can be modified to have a serial port. These serial ports typically provide a console to the bootloader and, when the firmware has booted, a console to the running system. A console to the running system will let you correct a misconfigured network, for example. Console access to the bootloader will often allow one to fetch and flash new firmware and may be the only way to do so on some routers if the firmware is not functional.Enabling a serial port, if there is not one already available on the case, typically involves opening the case and basic soldering skills. The cost of components is relatively low; a 10-euro/dollar project if one uses “eBay-grade” parts (which are likely sufficient). If one wishes a more permanent installation, mechanical skills in modifying the case may also be needed.About a Serial Port.
Most routers come with an integrated into the and its pins are routed on the to allow debugging, firmware replacement or serial device connection (like modems).Typically, a router first starts its “permanent” which is responsible for the first steps of finding the OpenWrt firmware and starting OpenWrt running. During these early phases, the bootloader often gives information over the serial port and can respond to its own set of commands. These commands are not “OpenWrt” commands, but ones pre-programmed into the bootloader. Details on these commands can often be found on the device-specific pages on the OpenWrt wiki.Once OpenWrt starts running, it is generally possible to enter failsafe mode with a terminal program attached to the serial port. Either in failsafe mode, or with OpenWrt running in normal mode, it is generally possible to enter commands the same way one would if using ssh over a network. As unpopulated holes in the PCB.For help with the latter two, see. But even if there is 9-pin D connector, beware the Voltage levels!
Sometimes by shortcutting some pins, connecting them to ground or to power you can change the serial mode. Some of them can help you to restore the bootloader since they allow you to write directly to memory or load something to ram through the serial connection, which can be useful for restoring a bootloader.
Also if the original bootloader is password protected with this method you can replace it with a custom bootloader and bypass it.For example in the default mode is CFG 01, but changing to CFG 04 which is known as UART mode allows you to upload to ram through the serial connection and automatically execute a bootloader in ascii format through the serial connection.It is recommended that you don't try blindly to shortcut or connect to anything the pins as it can brick the device. Find documentation before doing anything.Voltage levels. Caution: Very few devices have standard +/- 12V serial ports, but in many OpenWrt-supported devices the serial ports operate at TTL voltage (sometimes 5V, most often 3.3V) levels, meaning you cannot use a standard serial or USB to serial cable: it will fry your board. Buy a USB- TTL dongle instead, it will still show up as serial port in your computer, but it will be able to safely communicate with your OpenWrt deviceIn order for the serial console to work, the logic levels on the wires should match those expected by your device. The first step therefore is to determine which voltage levels are required.
Often, you can find this documented on the OpenWrt wiki or elsewhere. If you can't determine the voltage based on a clear description in the OpenWrt page for your device or your own knowledge of electronics, you should probably stop here until you are reasonably certain of the voltage levels required.In case your device is using a TTL connection or what seems to be a TTL connection, you can try to find out by trial and error, at the risk of burning the USB- TTL dongle or to damage the OpenWrt device.Start by identifying the power wire (i.e.
The wire carrying the 5V or 3.3 volt) and the ground pin with a multimeter on the 3-5 pin or holes in the board. The live pin should be labeled “1”, or “vcc” or have other signs that identify it as first pin.You can then proceed to connect the ground pin to your dongle, and then try to connect the other two pins (data pins) randomly and trying different serial settings on your terminal.Reversing Rx and Tx will not damage anything (it may will result in garbled text on your terminal), as long as the pins or holes are indeed a TTL port. If it is not a TTL port then you could probably damage your OpenWrt device, or (more commonly) burn the USB- TTL dongle.DO NOT under any circumstance connect the live pin (the 3.3 or 5V one) to your USB- TTL dongle as that could damage the dongle. It's not required in any dongle as they are USB-powered anyway and can auto-sense the data voltage.Talking and Listening. You will need a terminal emulation program on your computer, such as minicom, hyperterminal, etc. The terminal emulation program needs to be configured to be compatible with your device, in particular, with regard to baud rate and flow control. If you are using only three wires (GND, TX, and RX) then hardware flow control should be turned off; you aren't using the pins (RTS and CTS) necessary for it to work.
Rarely, the baud rate that the device expects might be different in the bootloader and the running firmware; if so, you'll need to modify the baud rate settings in your terminal emulator after the firmware boots up.Terminal software. If you get something like this during the bootcycle (output is garbled) 001f 2000-2008 Broadcom Corporation.Init ArenaInit Devs.This is?00020012?BCM4wXXLJ000200020735750 - 0x80)BSS: 0x80739790 - 0x804߇5.10The boot is CFEthen probably the GND is not connected (soldered?) well. The router wont listen to any keyboard actions.After solving the problem output should look fine.Another possible cause for the garbled output is wrong serial port speed, try different settings, most common ones are 9600, 38400 and 115200 bps.Unable to send data. In order to interact with your device over its serial port, you need a minimum of three wires connected: a ground (GND); transmit (TX); and receive (RX). It is possible to get useful information about what is happening with only GND and RX, but in order to fix a problem you will usually also need TX.
Openwrt Port Forward
Your computer's TX should be connected to the device's RX, and your computer's RX should be connected to the device's TX. The computer's GND should connect the the device's GND. That way, what you say will get heard by the device and what the device says will get heard by your computer. This is often called a “null-modem” configuration. If your computer has neither a serial port or a USB port, you are in trouble!These days, computer manufacturers are dropping, while USB ports are increasingly ubiquitous.
Particularly if you need to TTL logic levels, USB is probably the way to go since you can get the right logic levels (the voltage) integrated in the USB- TTL converter.See for a variety of ways to make the physical connection from PC to router using homemade or commercial USB-serial and serial-serial cables.Serial port pinouts. If the serial port pinout is not shown on your model's devicepage, do a Google search.
Most of the time, the serial port(s), if they exist, have already been documented by others. If methods listed here are not enough for you, consider to go deeper readingFinding an UART on a router is fairly easy since it only needs 3 signals (without modem signaling) to work: GND, TX and RX (often accompanied by VCC). Try looking for a populated or unpopulated 4-pin header, which can be far from the SoC (signals are relatively slow) and usually with tracks on the top or bottom layer of the PCB, and connected to the TX and RX.Once found, you can easily check where is the GND, which is connected to the same ground layer than the power connector. The VCC should be fixed at 3.3V and connected to the supply layer; the TX is also at 3.3V level, but using a multimeter as an ohm-meter, if you find an infinite resistance between the TX and VCC pins, it means they're distinct signals (else, you'll need to find the correct TX or VCC pin).
The RX and GND are by default at 0V, so you can check them using the same technique.If you don't have a multimeter, a simple trick that usually works is using a speaker or a LED to determine the 3.3V signals. Additionally, most PCB designers will draw a square pad to indicate pin number 1.Since your router is very likely to have its I/O pins working at 3.3V ( level voltage), you'll need or a level shifter such as a Maxim MAX232 to change the level from 3.3V to your computer level which is usually at 12V.Once the correct pins are found, just interface your level shifter with the device, and the serial port on the PC on the other side. Most common baud rates for the off-the-shelf devices are 9600, 38400 and 115200 with 8-bits data, no parity, 1-bit stop.Piezoelectric buzzer method. Switch the multimeter to measure DC voltage on a scale greater than 10 but less than 100 volts.
Meters vary, but you should be able to select a range greater than five volts. Place the black probe on the known ground point again, and with the router powered on, use the red probe to check the remaining pins of the port for steady 3.3V or 5V DC. When you find it, that pin is likely to be the VCC connection. Note however that on some routers RX and VCC both have same voltage. One suggestion on how to distinguish them is to power off your device, and switch to continuity test if you have it(so that your mm would emit audible beep on near-zero ohms). VCC pin usually has a capacitor and shorting them would result in a very short beep once. RX would not emit any beeps.
It's easiest to find the router's TXD pin first, because all the console output from the boot process appears there. Measuring DC V with multimeter would easily point to TX pin as on output it would irregularly drop from 3.3 or 5 as console output occurs. If booting is long and produces a lot of output it would be easy to notice that even with a cheap multimeter. Sometimes with a very brief output some multimeters' sampling points may come at the moments when there's no output so reboot it a few times to make sure. When you see an irregular drops, that's TX.
Then you can connect the RXD pin of your level shifter to that router pin and re-start the router. You should have a terminal window connected to the serial port at the correct bitrate and parity, and you've connected the proper pin, you should see output data the router's startup process. If not, try another pin, restarting the router until you receive valid output.
Now you've located the serial port TXD connection. Anyway router TX and VCC are really one of the simpliest to find.
I'm new to lua and I'm trying to receive data from the port, ttyACM0, I can write to the port by: wserial = io.open('/dev/ttyACM0','w')wserial:write('hellloooo')wserial:flushI thought since I can write to it in the same way as I would write to a file that I could read it in the same way as I would read a file. But when I try to read it (using the code below) I just end up in an infinite loop. Rserial=io.open('/dev/ttyACM0','r')while chainenil dochaine=rserial:readrserial:flushendprint(chaine)So my question is what am I doing wrong, how do I read from the port, ttyACM0?
I just bought Lightroom 6 and got a CD as well as a serial. Given that my Mac doesn't support CDs I searched for an installer. But there is none. On Download Photoshop Lightroom there is now download available. Can someone help as this is super annoying. Thanks, Thomas. U PDATE (March 2019) – These still work to download the Lightroom 6/CC 2015 installers. We also now have Adobe’s all-new CC 2019 Direct Download Links!. Yes – the new release of Adobe Photoshop Lightroom 6 is just out and now shipping! There was no beta version/period this time, so we go straight to the final product. Aug 06, 2019 Portable Photoshop Lightroom 6.12 is also available for download. Adobe Photoshop Lightroom CC 6.8 Overview. Digital photography is a very vast field which requires professional tools for editing and enhancing the images to add perfection to them. Photoshop Lightroom CC is a powerful tool which can handle all your digital media without any trouble.
Many home automation projects use mini-PCs running under Linux. Some of these mini-PCs have an HDMI output, but other, such as the OLinuXino, don't have a video output. In this case, the solution to configure these boards is to use a serial console.
The problem is that no computer has a serial port anymore and if you have an old enough computer to have an RS232 port, you can't use it because the RS232 port works in 12 Volts. The traditional solution is to use a USB-serial adapter sold by the constructor. But you can also use a.For this post, we are using an RT5350F OLinuXino. It's a small board using a mips CPU and it comes with a pre-installed OpenWRT distribution. Unfortunately, by default, the Wifi network is disabled and Ethernet ports are not routed. To access the OpenWRT interface, you must therefore start by modifying the network configuration. This is not easy because this board doesn't have a display output.
The only solution is to activate the network with the serial console.To access this serial console, you must connect the to the board three pins: GND, UARTTXD2, and UARTRXD2. Beware, you must connect the board UARTTXD2 line on the Yocto-Serial RX line, and vice-versa, otherwise communications won't work.Wiring between the Yocto-Serial and the OLinuXinoThen, you must determine the serial port communication parameters.
By looking at the board and at the, we guess that we must configure the as follows:. 57600 Bauds. 8 data bits. no parity bit. one stop bit. no flow control. use TTL levels (3.3V)You can easily check these parameters with the VirtualHub.
The configuration window allows you to enter the parameters listed above. For the VirtualHub to correctly display the characters sent by the OLinuXino, you must use the 'Generic ASCII Stream' protocol.The Yocto-Serial configuration to communicate with the OLinuXinoWhen you have saved these parameters, you can communicate with the OLinuXino from the detail window. As this window is very small and doesn't manage, the result is not very readable, but you can nonetheless check that wiring is correct.The Yocto-Serial detail windowYou can send a few commands with the 'Send' field, but it's really for troubleshooting only.The best solution is to write a short program which correctly displays the data sent bythe OLinuXino and which transmits the keyboard inputs to the OLinuXino board.
In short, you must write a 'pseudo' VT100 terminal.We decided to write this program in Python because it's a relatively simple and portable language, but we could have used any other language that.The first thing that this pseudo terminal must do is to instantiate a YSerialPort object corresponding to the and to configure it to use the parameters used above. If you use the same, you don't really have to do it because these parameters are saved in the module, but it's good practice to ensure that every module works in the correct mode. Unhandledescsequ = 'def newdatacb (serialport, value ):global unhandledescsequreadstr = serialport. ReadStr ( 65535 )if readstr ':returnoutstr, unhandledescsequ = handleescseq (unhandledescsequ + readstr )sys. Write (outstr )The parameters of this callback function are the YSerialPort object and a character string. As the can buffer up to 64K of received data, the value string doesn't directly contain the received data but the size of the data available on the and the last two characters. In this example, we are not going to use this parameter but simply call the readStr which returns a character string with a maximum of 65535 characters containing the available data which haven't been read yet.You must then correctly parse the to have a correct display.
Rotor-Gene ScreenClust HRM Software is a powerful tool for analysis of high-resolution melting (HRM) data from the Rotor-Gene Q or Rotor-Gene 6000 cycler. By grouping samples into clusters, Rotor-Gene ScreenClust HRM Software enables applications such as genotyping and mutation screening. If your computer is not installed with a Microsoft Windows operating system, please contact QIAGEN Technical Services for more information. Software: Build-in extensive analysis, graphing and statistical functions. Download Rotor Gene 3000 application software here. Use of the machines in the Molecular Biology Facility. The Rotor-Gene machines are in high demand therefore there is an online booking system (external website). Plan ahead, book time slots and stick to them. Download rotor gene 6000 software programs online.
The code of this function is available with the sources of this project on. The lastpart global variable is used to save a potential escape code which would straddle two readStr calls.Finally, you must retrieve the pressed keys and transmit them to the OLinuXino.
Unfortunately, there is no Python module working both under Unix and under Windows to retrieve this information. Therefore, you must write two implementations.
Under Windows, we used the msvcrt module which is very easy to use but limited. For the other platforms, we used the terminos module to disable echo and buffering on the standard input.This code is not enough to create a true terminal fully supporting all the escape codes, but it is largely enough to comfortably read the Linux kernel boot logs and run a few commands to configure the network interface. # Setup terminal settingscolorama. Init ( )fd = Noneoldsettings = Noneif platform. System ( ) 'Windows':import msvcrtelse:import ttyimport termiosimport selectfd = sys. Fileno ( )oldsettings = termios.
Tcgetattr (fd )newsettings = termios. Tcgetattr (fd )newsettings 3 = (newsettings 3 & termios. ICANON & termios. ECHO )termios. Tcsetattr (fd, termios.
TCSAFLUSH, newsettings )ctrcpressed = Falsewhile True:try:if kbhit ( ):c = getch ( )ctrcpressed = Falsekeycode = ord (c )if keycode 224:c = getch ( )keycode = ord (c )if keycode 72:serialPort. WriteStr (colorama. UP ( ) )elif keycode 77:serialPort.
WriteStr (colorama. FORWARD ( ) )elif keycode 80:serialPort. WriteStr (colorama. DOWN ( ) )elif keycode 75:serialPort. WriteStr (colorama. BACK ( ) )else:print ( 'Keyco (%X%c)'% (keycode, c ) )else:serialPort. WriteByte (keycode )YAPI.
HandleEvents ( )YAPI. UpdateDeviceList ( )except KeyboardInterrupt:if ctrcpressed:print ( 'Exit serialterm' )breakelse:print ( ' nPress a second time Ctr-C to exit serialterm' )ctrcpressed = TrueYAPI. FreeAPI ( )# restore terminal settinsgif platform. System ( )!= 'Windows':termios. Tcsetattr (fd, termios. TCSAFLUSH, oldsettings )As always, the complete code is available on GitHub:.We can stop the VirtualHub and run our pseudo terminal to comfortably run the few commands needed to enable the network interface of the OLinuXino. We aren't going to detail the necessary commands to configure the OLinuXino network interfaces, as they are and the goal of this post is to show how to run a command with a.This pseudo terminal can run a few necessary commandsThere are three advantages to using a instead of a proprietary cable: First, all these USB-serial adapters use an chip requiring you to install a driver.
Second, these adapters create virtual COM ports linked to a single USB port. Thus, if you connect the same adapter on the same machine but on another USB port, a new virtual COM port is created and you must, therefore, modify the terminal configuration to use this new COM port. Finally, with a, you can connect it on a and you can thus use it with the Ethernet, Wifi, or GSM network.
Comments are closed.
|
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |