What is the difference between ttys0, ttyUSB0 and ttyAMA0 in Linux?












6














I want to know the difference between ttyS0, ttyUSB0 and ttyAMA0 on Linux.










share|improve this question




















  • 1




    You can look up many device types in the kernel docs: git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/…
    – phg
    Sep 2 '16 at 7:30
















6














I want to know the difference between ttyS0, ttyUSB0 and ttyAMA0 on Linux.










share|improve this question




















  • 1




    You can look up many device types in the kernel docs: git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/…
    – phg
    Sep 2 '16 at 7:30














6












6








6


1





I want to know the difference between ttyS0, ttyUSB0 and ttyAMA0 on Linux.










share|improve this question















I want to know the difference between ttyS0, ttyUSB0 and ttyAMA0 on Linux.







linux tty






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Sep 2 '16 at 7:18









Satō Katsura

10.9k11534




10.9k11534










asked Sep 2 '16 at 7:06









user5671087

31112




31112








  • 1




    You can look up many device types in the kernel docs: git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/…
    – phg
    Sep 2 '16 at 7:30














  • 1




    You can look up many device types in the kernel docs: git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/…
    – phg
    Sep 2 '16 at 7:30








1




1




You can look up many device types in the kernel docs: git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/…
– phg
Sep 2 '16 at 7:30




You can look up many device types in the kernel docs: git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/…
– phg
Sep 2 '16 at 7:30










2 Answers
2






active

oldest

votes


















7
















  • ttyS0 is the device for the first UART serial port on x86 and x86_64 architectures. If you have a PC motherboard with serial ports you'd be using a ttySn to attach a modem or a serial console.


  • ttyUSB0 is the device for the first USB serial convertor. If you have an USB serial cable you'd be using a ttyUSBn to connect to the serial port of a router.


  • ttyAMA0 is the device for the first serial port on ARM architecture. If you have an ARM-based TV box with a serial console and running Android or OpenELEC, you'd be using a ttyAMAn to attach a console to it.






share|improve this answer



















  • 1




    There's more at unix.stackexchange.com/a/127260/5132 .
    – JdeBP
    Sep 2 '16 at 17:37



















5














ttyS0



What you get on host when you connect to target with this:



enter image description here





Source



This port is not present on most laptops or small devboards, but is still present on desktops, and is very convenient for OS developers.



You also get it with qemu -device isa-serial.



ttyUSB0



What you get on host when using either of:





And this is how I connect the GPIOs of my Raspberry Pi to my laptop!



enter image description here



And another RPI connector type:





Source



A concrete RPI example at: https://stackoverflow.com/questions/22054578/how-to-run-a-program-without-an-operating-system/32483545#32483545



ttyAMA0



An ARM thing as mentioned by Sato.



Haven't run into that for real hardware, will post pics when I do. I think I would be able to connect my desktop with a serial port to my RPI with that interface: https://raspberrypi.stackexchange.com/questions/69697/what-is-dev-ttyama0



But I've used it with QEMU: https://github.com/buildroot/buildroot/tree/27d7ef126bc7f4eb1a757128466befa11245bbfd/board/qemu/arm-versatile



It seems that AMA is shortened form of AMBA? https://www.raspberrypi.org/forums/viewtopic.php?t=8075 But why would they shorten a 4 character acronym?!



The only interesting Linux kernel hits are under: https://github.com/torvalds/linux/blob/v4.16/drivers/tty/serial/amba-pl011.c#L2488 so it seems to be strictly linked to the PL011: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0183g/index.html which is a UART controller licensed by ARM, which I think is the dominating implementation.



ttySAC0



Kamil reported that his Samsung Artik 710, so another one for the collection.






share|improve this answer























  • What about ttySAC0? I have this on ARM64 architecture Samsung Artik 710 device.
    – Kamil
    Nov 6 at 0:36












  • @Kamil OK, a new one for me then :-) How do you connect to it from host to see ttySAC0? Which cable? Send a photo if you can.
    – Ciro Santilli 新疆改造中心 六四事件 法轮功
    Nov 6 at 8:36











Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f307390%2fwhat-is-the-difference-between-ttys0-ttyusb0-and-ttyama0-in-linux%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























2 Answers
2






active

oldest

votes








2 Answers
2






active

oldest

votes









active

oldest

votes






active

oldest

votes









7
















  • ttyS0 is the device for the first UART serial port on x86 and x86_64 architectures. If you have a PC motherboard with serial ports you'd be using a ttySn to attach a modem or a serial console.


  • ttyUSB0 is the device for the first USB serial convertor. If you have an USB serial cable you'd be using a ttyUSBn to connect to the serial port of a router.


  • ttyAMA0 is the device for the first serial port on ARM architecture. If you have an ARM-based TV box with a serial console and running Android or OpenELEC, you'd be using a ttyAMAn to attach a console to it.






share|improve this answer



















  • 1




    There's more at unix.stackexchange.com/a/127260/5132 .
    – JdeBP
    Sep 2 '16 at 17:37
















7
















  • ttyS0 is the device for the first UART serial port on x86 and x86_64 architectures. If you have a PC motherboard with serial ports you'd be using a ttySn to attach a modem or a serial console.


  • ttyUSB0 is the device for the first USB serial convertor. If you have an USB serial cable you'd be using a ttyUSBn to connect to the serial port of a router.


  • ttyAMA0 is the device for the first serial port on ARM architecture. If you have an ARM-based TV box with a serial console and running Android or OpenELEC, you'd be using a ttyAMAn to attach a console to it.






share|improve this answer



















  • 1




    There's more at unix.stackexchange.com/a/127260/5132 .
    – JdeBP
    Sep 2 '16 at 17:37














7












7








7








  • ttyS0 is the device for the first UART serial port on x86 and x86_64 architectures. If you have a PC motherboard with serial ports you'd be using a ttySn to attach a modem or a serial console.


  • ttyUSB0 is the device for the first USB serial convertor. If you have an USB serial cable you'd be using a ttyUSBn to connect to the serial port of a router.


  • ttyAMA0 is the device for the first serial port on ARM architecture. If you have an ARM-based TV box with a serial console and running Android or OpenELEC, you'd be using a ttyAMAn to attach a console to it.






share|improve this answer
















  • ttyS0 is the device for the first UART serial port on x86 and x86_64 architectures. If you have a PC motherboard with serial ports you'd be using a ttySn to attach a modem or a serial console.


  • ttyUSB0 is the device for the first USB serial convertor. If you have an USB serial cable you'd be using a ttyUSBn to connect to the serial port of a router.


  • ttyAMA0 is the device for the first serial port on ARM architecture. If you have an ARM-based TV box with a serial console and running Android or OpenELEC, you'd be using a ttyAMAn to attach a console to it.







share|improve this answer














share|improve this answer



share|improve this answer








edited Sep 2 '16 at 10:19

























answered Sep 2 '16 at 7:27









Satō Katsura

10.9k11534




10.9k11534








  • 1




    There's more at unix.stackexchange.com/a/127260/5132 .
    – JdeBP
    Sep 2 '16 at 17:37














  • 1




    There's more at unix.stackexchange.com/a/127260/5132 .
    – JdeBP
    Sep 2 '16 at 17:37








1




1




There's more at unix.stackexchange.com/a/127260/5132 .
– JdeBP
Sep 2 '16 at 17:37




There's more at unix.stackexchange.com/a/127260/5132 .
– JdeBP
Sep 2 '16 at 17:37













5














ttyS0



What you get on host when you connect to target with this:



enter image description here





Source



This port is not present on most laptops or small devboards, but is still present on desktops, and is very convenient for OS developers.



You also get it with qemu -device isa-serial.



ttyUSB0



What you get on host when using either of:





And this is how I connect the GPIOs of my Raspberry Pi to my laptop!



enter image description here



And another RPI connector type:





Source



A concrete RPI example at: https://stackoverflow.com/questions/22054578/how-to-run-a-program-without-an-operating-system/32483545#32483545



ttyAMA0



An ARM thing as mentioned by Sato.



Haven't run into that for real hardware, will post pics when I do. I think I would be able to connect my desktop with a serial port to my RPI with that interface: https://raspberrypi.stackexchange.com/questions/69697/what-is-dev-ttyama0



But I've used it with QEMU: https://github.com/buildroot/buildroot/tree/27d7ef126bc7f4eb1a757128466befa11245bbfd/board/qemu/arm-versatile



It seems that AMA is shortened form of AMBA? https://www.raspberrypi.org/forums/viewtopic.php?t=8075 But why would they shorten a 4 character acronym?!



The only interesting Linux kernel hits are under: https://github.com/torvalds/linux/blob/v4.16/drivers/tty/serial/amba-pl011.c#L2488 so it seems to be strictly linked to the PL011: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0183g/index.html which is a UART controller licensed by ARM, which I think is the dominating implementation.



ttySAC0



Kamil reported that his Samsung Artik 710, so another one for the collection.






share|improve this answer























  • What about ttySAC0? I have this on ARM64 architecture Samsung Artik 710 device.
    – Kamil
    Nov 6 at 0:36












  • @Kamil OK, a new one for me then :-) How do you connect to it from host to see ttySAC0? Which cable? Send a photo if you can.
    – Ciro Santilli 新疆改造中心 六四事件 法轮功
    Nov 6 at 8:36
















5














ttyS0



What you get on host when you connect to target with this:



enter image description here





Source



This port is not present on most laptops or small devboards, but is still present on desktops, and is very convenient for OS developers.



You also get it with qemu -device isa-serial.



ttyUSB0



What you get on host when using either of:





And this is how I connect the GPIOs of my Raspberry Pi to my laptop!



enter image description here



And another RPI connector type:





Source



A concrete RPI example at: https://stackoverflow.com/questions/22054578/how-to-run-a-program-without-an-operating-system/32483545#32483545



ttyAMA0



An ARM thing as mentioned by Sato.



Haven't run into that for real hardware, will post pics when I do. I think I would be able to connect my desktop with a serial port to my RPI with that interface: https://raspberrypi.stackexchange.com/questions/69697/what-is-dev-ttyama0



But I've used it with QEMU: https://github.com/buildroot/buildroot/tree/27d7ef126bc7f4eb1a757128466befa11245bbfd/board/qemu/arm-versatile



It seems that AMA is shortened form of AMBA? https://www.raspberrypi.org/forums/viewtopic.php?t=8075 But why would they shorten a 4 character acronym?!



The only interesting Linux kernel hits are under: https://github.com/torvalds/linux/blob/v4.16/drivers/tty/serial/amba-pl011.c#L2488 so it seems to be strictly linked to the PL011: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0183g/index.html which is a UART controller licensed by ARM, which I think is the dominating implementation.



ttySAC0



Kamil reported that his Samsung Artik 710, so another one for the collection.






share|improve this answer























  • What about ttySAC0? I have this on ARM64 architecture Samsung Artik 710 device.
    – Kamil
    Nov 6 at 0:36












  • @Kamil OK, a new one for me then :-) How do you connect to it from host to see ttySAC0? Which cable? Send a photo if you can.
    – Ciro Santilli 新疆改造中心 六四事件 法轮功
    Nov 6 at 8:36














5












5








5






ttyS0



What you get on host when you connect to target with this:



enter image description here





Source



This port is not present on most laptops or small devboards, but is still present on desktops, and is very convenient for OS developers.



You also get it with qemu -device isa-serial.



ttyUSB0



What you get on host when using either of:





And this is how I connect the GPIOs of my Raspberry Pi to my laptop!



enter image description here



And another RPI connector type:





Source



A concrete RPI example at: https://stackoverflow.com/questions/22054578/how-to-run-a-program-without-an-operating-system/32483545#32483545



ttyAMA0



An ARM thing as mentioned by Sato.



Haven't run into that for real hardware, will post pics when I do. I think I would be able to connect my desktop with a serial port to my RPI with that interface: https://raspberrypi.stackexchange.com/questions/69697/what-is-dev-ttyama0



But I've used it with QEMU: https://github.com/buildroot/buildroot/tree/27d7ef126bc7f4eb1a757128466befa11245bbfd/board/qemu/arm-versatile



It seems that AMA is shortened form of AMBA? https://www.raspberrypi.org/forums/viewtopic.php?t=8075 But why would they shorten a 4 character acronym?!



The only interesting Linux kernel hits are under: https://github.com/torvalds/linux/blob/v4.16/drivers/tty/serial/amba-pl011.c#L2488 so it seems to be strictly linked to the PL011: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0183g/index.html which is a UART controller licensed by ARM, which I think is the dominating implementation.



ttySAC0



Kamil reported that his Samsung Artik 710, so another one for the collection.






share|improve this answer














ttyS0



What you get on host when you connect to target with this:



enter image description here





Source



This port is not present on most laptops or small devboards, but is still present on desktops, and is very convenient for OS developers.



You also get it with qemu -device isa-serial.



ttyUSB0



What you get on host when using either of:





And this is how I connect the GPIOs of my Raspberry Pi to my laptop!



enter image description here



And another RPI connector type:





Source



A concrete RPI example at: https://stackoverflow.com/questions/22054578/how-to-run-a-program-without-an-operating-system/32483545#32483545



ttyAMA0



An ARM thing as mentioned by Sato.



Haven't run into that for real hardware, will post pics when I do. I think I would be able to connect my desktop with a serial port to my RPI with that interface: https://raspberrypi.stackexchange.com/questions/69697/what-is-dev-ttyama0



But I've used it with QEMU: https://github.com/buildroot/buildroot/tree/27d7ef126bc7f4eb1a757128466befa11245bbfd/board/qemu/arm-versatile



It seems that AMA is shortened form of AMBA? https://www.raspberrypi.org/forums/viewtopic.php?t=8075 But why would they shorten a 4 character acronym?!



The only interesting Linux kernel hits are under: https://github.com/torvalds/linux/blob/v4.16/drivers/tty/serial/amba-pl011.c#L2488 so it seems to be strictly linked to the PL011: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0183g/index.html which is a UART controller licensed by ARM, which I think is the dominating implementation.



ttySAC0



Kamil reported that his Samsung Artik 710, so another one for the collection.







share|improve this answer














share|improve this answer



share|improve this answer








edited Dec 17 at 15:14

























answered May 29 '17 at 10:39









Ciro Santilli 新疆改造中心 六四事件 法轮功

4,90124040




4,90124040












  • What about ttySAC0? I have this on ARM64 architecture Samsung Artik 710 device.
    – Kamil
    Nov 6 at 0:36












  • @Kamil OK, a new one for me then :-) How do you connect to it from host to see ttySAC0? Which cable? Send a photo if you can.
    – Ciro Santilli 新疆改造中心 六四事件 法轮功
    Nov 6 at 8:36


















  • What about ttySAC0? I have this on ARM64 architecture Samsung Artik 710 device.
    – Kamil
    Nov 6 at 0:36












  • @Kamil OK, a new one for me then :-) How do you connect to it from host to see ttySAC0? Which cable? Send a photo if you can.
    – Ciro Santilli 新疆改造中心 六四事件 法轮功
    Nov 6 at 8:36
















What about ttySAC0? I have this on ARM64 architecture Samsung Artik 710 device.
– Kamil
Nov 6 at 0:36






What about ttySAC0? I have this on ARM64 architecture Samsung Artik 710 device.
– Kamil
Nov 6 at 0:36














@Kamil OK, a new one for me then :-) How do you connect to it from host to see ttySAC0? Which cable? Send a photo if you can.
– Ciro Santilli 新疆改造中心 六四事件 法轮功
Nov 6 at 8:36




@Kamil OK, a new one for me then :-) How do you connect to it from host to see ttySAC0? Which cable? Send a photo if you can.
– Ciro Santilli 新疆改造中心 六四事件 法轮功
Nov 6 at 8:36


















draft saved

draft discarded




















































Thanks for contributing an answer to Unix & Linux Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f307390%2fwhat-is-the-difference-between-ttys0-ttyusb0-and-ttyama0-in-linux%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Morgemoulin

Scott Moir

Souastre