LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Other *NIX Forums > Solaris / OpenSolaris
User Name
Password
Solaris / OpenSolaris This forum is for the discussion of Solaris, OpenSolaris, OpenIndiana, and illumos.
General Sun, SunOS and Sparc related questions also go here. Any Solaris fork or distribution is welcome.

Notices


Reply
  Search this Thread
Old 05-28-2009, 01:18 PM   #1
kayasaman
Member
 
Registered: Sep 2008
Location: Under the bridge where proper engineers walkover
Distribution: Various Linux, Solaris, BSD, Cisco
Posts: 443

Rep: Reputation: 32
Is there a serial terminal shell in Solaris?


Hi,

my question is pretty straight forward and possibly quite easy to answer:

basically I'd just like to know if there is a serial console for Solaris?

I'm using SXCE but compatibility with any version from 10 onwards would be cool!

I have a USB to Serial cable and was wondering if Solaris has the drivers for it as in Linux it works fine (I know, different OS but still hoping for kernel support)?

Unfortunately I don't know the command to list USB devices in the shell; lsusb from Linux

I'm after something like Terra Term32 or Hyper Terminal in Windows or GTKTerm in Linux as I need to connect to Cisco IOS equipment and Sun servers also.



I recall finding something somewhere once but can't remember where now, many thanks for any ideas! :-)

Last edited by kayasaman; 05-28-2009 at 01:24 PM.
 
Old 05-28-2009, 03:15 PM   #2
jlliagre
Moderator
 
Registered: Feb 2004
Location: Outside Paris
Distribution: Solaris 11.4, Oracle Linux, Mint, Debian/WSL
Posts: 9,789

Rep: Reputation: 492Reputation: 492Reputation: 492Reputation: 492Reputation: 492
The tip command is the one to use to connect to a serial device.

If you use an USB to serial adapter, you'll also need it to be supported by a driver.

Have a look at this FAQ for details: http://www.sun.com/io_technologies/u...aq.html#Serial
 
Old 05-28-2009, 04:02 PM   #3
kayasaman
Member
 
Registered: Sep 2008
Location: Under the bridge where proper engineers walkover
Distribution: Various Linux, Solaris, BSD, Cisco
Posts: 443

Original Poster
Rep: Reputation: 32
Many thanks for the reply, I browsed the page and it claims that the PL2303 chipset based driver is supported

Quote:
Which USB to Serial device can I use with Solaris ?

Solaris supports Digi InsideOut Networks' devices and recently, KeySpan and Prolific chipset based devices' support were also integrated to Solaris. Keyspan and Prolific USB serial drivers are available in OpenSolaris and in Solaris 10 Update 2 and later. PL2303 chip based adapters and Keyspan USA-19HS adapter are available as part of Solaris 10 Update 2.
Mine is a PL2303 so that's fine but it doesn't show up when running prtconf -D, some drivers for it however seem to be PL2302 especially for Windows platforms?

According to the literature:

Quote:
My Edgeport device is based on the latest TI chipset. Are these devices supported under Solaris 10 ?

First, run prtconf -D and check the device id. The device id may look like: usbif1608,1.config1.0 Check the file /etc/driver_aliases if this id exists in it. If it does not, then run the following command as root:

update_drv -a -i "usbif1608,1.config1.0" usbser_edge
Output from prtconf -D results:
Code:
System Configuration:  Sun Microsystems  i86pc
Memory size: 503 Megabytes
System Peripherals (Software Nodes):

i86pc (driver name: rootnex)
    scsi_vhci, instance #0 (driver name: scsi_vhci)
    isa, instance #0 (driver name: isa)
        i8042, instance #0 (driver name: i8042)
            keyboard, instance #0 (driver name: kb8042)
            mouse, instance #0 (driver name: mouse8042)
        asy (driver name: asy)
        pit_beep, instance #0 (driver name: pit_beep)
    pci, instance #0 (driver name: pci)
        pci17c0,4011, instance #0 (driver name: agptarget)
        pci17c0,4012
        pci17c0,4013
        display, instance #0 (driver name: vgatext)
        pci17c0,205a
        pci17c0,2005, instance #0 (driver name: uhci)
            device, instance #0 (driver name: usbsprl)
        pci17c0,2005, instance #1 (driver name: uhci)
        pci17c0,2005, instance #2 (driver name: uhci)
        pci17c0,2005, instance #0 (driver name: ehci)
        pci8086,2448, instance #0 (driver name: pci_pci)
            pci8086,2702, instance #0 (driver name: iwi)
            pci17c0,3005, instance #0 (driver name: pcic)
                pcs, instance #0 (driver name: pcs)
            pci17c0,3005, instance #1 (driver name: pcic)
                pcs, instance #1 (driver name: pcs)
            pci17c0,1095, instance #0 (driver name: hci1394)
            pci17c0,1053, instance #0 (driver name: rtls)
        pci8086,24cc
        pci-ide, instance #0 (driver name: pci-ide)
            ide, instance #0 (driver name: ata)
                cmdk, instance #0 (driver name: cmdk)
            ide, instance #1 (driver name: ata)
                sd, instance #0 (driver name: sd)
        pci17c0,2005
        pci17c0,200e, instance #0 (driver name: audio810)
        pci17c0,1069
    iscsi, instance #0 (driver name: iscsi)
    pseudo, instance #0 (driver name: pseudo)
    xsvc, instance #0 (driver name: xsvc)
    options, instance #0 (driver name: options)
    agpgart, instance #0 (driver name: agpgart)
    used-resources
    cpus, instance #0 (driver name: cpunex)
        cpu (driver name: cpudrv)
Mine is a USB dongle, where they mention chips, mine doesn't actually have any unless it's inside the DB9 connector itself?

What would be the best approach from here I'm wondering as prtconf -D should be a similar command to what I referred to earlier for Linux as in lsusb which isn't listing it unless it's coming up on the PCI interface?

Am gona keep reading through however, but from part 5 in the literature I do seem to have an instance of 0 in both /dev/cua and /dev/term which are both links to:

Code:
# ls -l /dev/term
total 2
lrwxrwxrwx   1 root     root          48 May 28 23:40 0 -> ../../devices/pci@0,0/pci17c0,2005@1d/device@1:0

# ls -l /dev/cua
total 2
lrwxrwxrwx   1 root     root          51 May 28 23:40 0 -> ../../devices/pci@0,0/pci17c0,2005@1d/device@1:0,cu
Am slightly confused by the results!
 
Old 05-28-2009, 04:11 PM   #4
kayasaman
Member
 
Registered: Sep 2008
Location: Under the bridge where proper engineers walkover
Distribution: Various Linux, Solaris, BSD, Cisco
Posts: 443

Original Poster
Rep: Reputation: 32
Good news is that prtconf -v reveals that it is in fact detecting something:

Code:
device, instance #0
                Hardware properties:
                    name='driver-minor' type=int items=1
                        value=00000000
                    name='driver-major' type=int items=1
                        value=00000002
                    name='usb-product-name' type=string items=1
                        value='USB-Serial Controller'
                    name='usb-vendor-name' type=string items=1
                        value='Prolific Technology Inc.'
                    name='usb-raw-cfg-descriptors' type=byte items=39
                        value=09.02.27.00.01.01.00.80.32.09.04.00.00.03.ff.00.00.00.07.05.81.03.0a.00.01.07.05.02.02.40.00.00.07.05.83.02.40.00.00
                    name='usb-dev-descriptor' type=byte items=18
                        value=12.01.10.01.00.00.00.40.7b.06.03.23.00.03.01.02.00.01
                    name='usb-release' type=int items=1
                        value=00000110
                    name='usb-num-configs' type=int items=1
                        value=00000001
                    name='usb-revision-id' type=int items=1
                        value=00000300
                    name='usb-product-id' type=int items=1
                        value=00002303
                    name='usb-vendor-id' type=int items=1
                        value=0000067b
                    name='compatible' type=string items=9
                        value='usb67b,2303.300' + 'usb67b,2303' + 'usbif67b,classff.0.0' + 'usbif67b,classff.0' + 'usbif67b,classff' + 'usbif,classff.0.0' +
'usbif,classff.0' + 'usbif,classff' + 'usb,device'
                    name='reg' type=int items=1
                        value=00000001
                    name='assigned-address' type=int items=1
                        value=00000002
                Device Minor Nodes:
                    dev=(222,0)
                        dev_path=/pci@0,0/pci17c0,2005@1d/device@1:0
                            spectype=chr type=minor
                            dev_link=/dev/term/0
                    dev=(222,131072)
                        dev_path=/pci@0,0/pci17c0,2005@1d/device@1:0,cu
                            spectype=chr type=minor
                            dev_link=/dev/cua/0
Does this mean that this is the device ID:

usb67b,2303.300

for which I need to run the:

example# update_drv -a -i '"usbxxx,xxx"' usbsprl

command for?
 
Old 05-28-2009, 04:25 PM   #5
kayasaman
Member
 
Registered: Sep 2008
Location: Under the bridge where proper engineers walkover
Distribution: Various Linux, Solaris, BSD, Cisco
Posts: 443

Original Poster
Rep: Reputation: 32
Ok tried that but I think it wasn't what I wanted as I just want to be able to access serial lines on other devices through a terminal!

tip u0 still doesn't work

I have found this site: http://www.opensolaris.org/os/commun...es/2006061401/

which claims that I need to enable it like:

eeprom console=usb-serial

Taken from part 15 of the original link given.

.....oops just tested it and I think I lost Solaris completely, blank screen with flashing cursor which means that the system is probably waiting for a serial connection to dial-in via the USB port?

Looks like I'm gona have to transition the system into failsafe and recover it or use some kind of bootable media that can read and write the UFS file system to restore grub by editing:

kernel ... -B console=usb-serial

to take out the -B {boot} flag option!

[EDIT]Correction system boots but verbose boot output is lost, I'm guessing it's being outputted to Serial connection? Just tried to gain access to IOS via console port and claims: tip u0 gives unknown host u0
[/EDIT]

I'm wondering do I need to configure the USB->Serial as an edgeport?? Although now I'm just confusing between Cisco's implementation of STP, PVST+ and Rapid PVST+ :S

Last edited by kayasaman; 05-28-2009 at 04:41 PM.
 
Old 05-28-2009, 04:54 PM   #6
kayasaman
Member
 
Registered: Sep 2008
Location: Under the bridge where proper engineers walkover
Distribution: Various Linux, Solaris, BSD, Cisco
Posts: 443

Original Poster
Rep: Reputation: 32
From part 5 again of the link given /etc/remote is meant to contain:

Code:
     	uab:dv=/dev/cua/b:br#2400
	dialup1|Dial-up system:\
		:pn=2015551212:tc=UNIX-2400:
	u0:\
            	:dv=/dev/cua/0:br#9600:el=^C^S^Q^U^D:ie=%$:oe=^D:
I have in fact added this set of lines in as originally this was in the file:

Code:
cuab:dv=/dev/cua/b:br#2400
dialup1|Dial-up system:\
        :pn=2015551212:tc=UNIX-2400:
hardwire:\
        :dv=/dev/term/b:br#9600:el=^C^S^Q^U^D:ie=%$:oe=^D:
tip300:tc=UNIX-300:
tip1200:tc=UNIX-1200:
tip0|tip2400:tc=UNIX-2400:
tip9600:tc=UNIX-9600:
tip19200:tc=UNIX-19200:
UNIX-300:\
        :el=^D^U^C^S^Q^O@:du:at=hayes:ie=#$%:oe=^D:br#300:tc=dialers:
UNIX-1200:\
        :el=^D^U^C^S^Q^O@:du:at=hayes:ie=#$%:oe=^D:br#1200:tc=dialers:
UNIX-2400:\
        :el=^D^U^C^S^Q^O@:du:at=hayes:ie=#$%:oe=^D:br#2400:tc=dialers:
UNIX-9600:\
        :el=^D^U^C^S^Q^O@:du:at=hayes:ie=#$%:oe=^D:br#9600:tc=dialers:
UNIX-19200:\
        :el=^D^U^C^S^Q^O@:du:at=hayes:ie=#$%:oe=^D:br#19200:tc=dialers:
VMS-300|TOPS20-300:\
        :el=^Z^U^C^S^Q^O:du:at=hayes:ie=$@:oe=^Z:br#300:tc=dialers:
VMS-1200|TOPS20-1200:\
        :el=^Z^U^C^S^Q^O:du:at=hayes:ie=$@:oe=^Z:br#1200:tc=dialers:
dialers:\
        :dv=/dev/cua/b:
I just entered tip UNIX-9600 and got the result of: missing phone number?

I will try commenting them out and seeing what happens!
 
Old 05-28-2009, 05:16 PM   #7
kayasaman
Member
 
Registered: Sep 2008
Location: Under the bridge where proper engineers walkover
Distribution: Various Linux, Solaris, BSD, Cisco
Posts: 443

Original Poster
Rep: Reputation: 32
Ok my final post for this evening and it looks like it's still not working

I got this message: All ports busy

of which then I changed usb to include cuab like above no ** though just to illustrate the modification:
Code:
     	**cuab:dv=/dev/cua/b:br#2400**
	dialup1|Dial-up system:\
		:pn=2015551212:tc=UNIX-2400:
	u0:\
            	:dv=/dev/cua/0:br#9600:el=^C^S^Q^U^D:ie=%$:oe=^D:
As a result though I seem to have lost my icons on the Desktop and each time I plug the serial adapter in the GUI restarts!

I am completely lost now - uh.
 
Old 05-29-2009, 01:58 PM   #8
kayasaman
Member
 
Registered: Sep 2008
Location: Under the bridge where proper engineers walkover
Distribution: Various Linux, Solaris, BSD, Cisco
Posts: 443

Original Poster
Rep: Reputation: 32
Hi, if anyone can guide me through this I'd really appreciate it as following the article I'm quite lost as it seems Solaris handles Serial links differently then to what I expected as it seems to be trying to dial out rather then connect to my equipment?

If only it was as simple as insert the adapter, boot up the terminal emulator select USB0 from the port selection, choose bit-rate, parity and stop-bit press enter and get connected....
 
Old 05-29-2009, 08:25 PM   #9
jlliagre
Moderator
 
Registered: Feb 2004
Location: Outside Paris
Distribution: Solaris 11.4, Oracle Linux, Mint, Debian/WSL
Posts: 9,789

Rep: Reputation: 492Reputation: 492Reputation: 492Reputation: 492Reputation: 492
Solaris has handling serial lines for ages, actually serial lines used to be only way to connect to/from a Unix box before Ethernet was invented. However, your PC is lacking a serial port and and adapter isn't a transparent solution.

The USB-to-serial adapter isn't a passive device but a peripheral with indeed a chip inside that requires a specific driver, whatever the OS, to convert the high level USB protocol to the primitive RS-232 one. According to the prtconf output, a driver is already installed for your adapter and the corresponding devices are /dev/term/0 and /dev/cua/0. There is no need to try using different devices like /dev/cua/b.

As /dev/term/0 is for incoming connections, the only entry of interest for your device is:

Code:
u0:\
      :dv=/dev/cua/0:br#9600:el=^C^S^Q^U^D:ie=%$:oe=^D:
You should only run "tip u0" from your terminal emulator (xterm, dtterm, gnome-terminal or whatever) and be connected to the device located at the other side of the cable, assuming it is set to 9600 bps. If you get a device busy message, that might be because you have left a previous command (presumably tip) running. Try "fuser /dev/cua/0" to see if some process ID shows up.

"eeprom console=usb-serial" was a bad guess. It switches the system console, the one you sees at boot time and when X window is disabled, to a USB to serial device.

You can revert to the original setting by running:

Code:
eeprom console=text
 
Old 05-30-2009, 01:34 AM   #10
kayasaman
Member
 
Registered: Sep 2008
Location: Under the bridge where proper engineers walkover
Distribution: Various Linux, Solaris, BSD, Cisco
Posts: 443

Original Poster
Rep: Reputation: 32
Many thanks, jlliagre

Quote:

The USB-to-serial adapter isn't a passive device but a peripheral with indeed a chip inside that requires a specific driver, whatever the OS, to convert the high level USB protocol to the primitive RS-232 one. According to the prtconf output, a driver is already installed for your adapter and the corresponding devices are /dev/term/0 and /dev/cua/0. There is no need to try using different devices like /dev/cua/b.
I changed:

Code:
     	**cuab:dv=/dev/cua/0:br#2400**
	dialup1|Dial-up system:\
		:pn=2015551212:tc=UNIX-2400:
	u0:\
            	:dv=/dev/cua/0:br#9600:el=^C^S^Q^U^D:ie=%$:oe=^D:
expanding **cuab:dv=/dev/cua/0:br#2400** I pointed it towards /dev/cua/0 as it was on b as shown above - Now it works!

Quote:
Solaris has handling serial lines for ages, actually serial lines used to be only way to connect to/from a Unix box before Ethernet was invented. However, your PC is lacking a serial port and and adapter isn't a transparent solution.
Back in the 'day' this is how client-server models used to function where where micro computers hadn't come out yet much before they evolved into the 'PC'. The serial terminals stuff like DEC's VT100 line of displays and similar where known as 'dumb' terminals while the server was an intelligent terminal or active terminal even though only having less then 8-bit graphics in the early days!

I don't know about the SPARCS of today only from what I've got as my test platform which are round 10 years or so old, SPARC II ULTRA machines. The only way to connect to them is via serial; RJ45 for the Netra's which have LOM embedded or the Sun 25 pin D-sub connector on my E420r, plus of course all the Cisco stuff which I ranted on about above too

To be honest I don't know whether to be embarrassed or laugh as I use to read the serial output from my Sun servers when debugging - I actually didn't realize that the same information was logged to /var/adm/messages :-0 in Solaris

That's the good thing about having a Solaris based project network, one can learn the basic stuff without going into industry and not knowing where to turn when using Solaris/Sun based systems.

I just wish I had more experience with Solaris, even though it's only been what must be now 4 months or so where I've been using it.....


P.s. once serialled in how do exit tip or send a break command?
 
Old 05-30-2009, 03:51 AM   #11
jlliagre
Moderator
 
Registered: Feb 2004
Location: Outside Paris
Distribution: Solaris 11.4, Oracle Linux, Mint, Debian/WSL
Posts: 9,789

Rep: Reputation: 492Reputation: 492Reputation: 492Reputation: 492Reputation: 492
Quote:
Originally Posted by kayasaman View Post
The serial terminals stuff like DEC's VT100 line of displays and similar where known as 'dumb' terminals while the server was an intelligent terminal or active terminal even though only having less then 8-bit graphics in the early days!
Actually, the early Unix servers were not terminals at all. Only blind boxes with serial ports for these VT100s to connect. When the Unix workstations enter the market about ten years later, they were indeed both a Unix server and a one bit then 8 bit graphic terminal.

Quote:
I don't know about the SPARCS of today only from what I've got as my test platform which are round 10 years or so old, SPARC II ULTRA machines. The only way to connect to them is via serial; RJ45 for the Netra's which have LOM embedded or the Sun 25 pin D-sub connector on my E420r, plus of course all the Cisco stuff which I ranted on about above too
Yes, these are plain servers, as opposed to workstations. It is possible to add a graphic card to most of them though.

Quote:
P.s. once serialled in how do exit tip or send a break command?
That should be
Code:
~.
 
Old 05-30-2009, 08:24 AM   #12
kayasaman
Member
 
Registered: Sep 2008
Location: Under the bridge where proper engineers walkover
Distribution: Various Linux, Solaris, BSD, Cisco
Posts: 443

Original Poster
Rep: Reputation: 32
Many thanks for all the advise and comments jlliagre I really appreciate everything!

Didn't manage to find ~. though

Went through the man page which claimed ~. or ~^D then said that ~ implicated an escape character....

How does this map to the keyboard though? Usually if someone says ^D I understand it as: ctrl D - but in this case I'm slightly lost.

I tried all the key combinations I could think of including ctrl D, ctrl ~ ., ctrl shift 6 d for ^ but nothing worked.

In fact I google'd just now and discovered this: http://www.idevelopment.info/data/Un...Consoles.shtml

which also says "~.". I tried that also but didn't work?

<----------------------------------------------------------------------------------------------------->

Ok scratch the not working part!!!!! shift # followed by . gave me the appropriate result. At least I'm not totally incompetent.... few was getting worried for a second there - guess I'm so used to combining key sequences as in ctrl+shift+char1+char2 etc. that I didn't stop to think that they might be following one after the other in serial.

Well that's sorted now!!!! Between yesterday and today I've managed to sort out my serial connection to my Sun's and Cisco devices and also create a tftp server too all in SXCE. I should be proud at this point so why do I feel like I expect more from myself? :S
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
LXer: Terminal functions for shell scripting with Shell Curses LXer Syndicated Linux News 0 03-26-2008 11:50 PM
LXer: Shell tip: Set the shell prompt and themes in Linux Terminal LXer Syndicated Linux News 0 06-12-2007 03:02 AM
serial terminal prolbems frieza Linux - Software 1 01-09-2007 10:23 AM
serial terminal console Alfexy Slackware 4 10-22-2004 07:15 PM
Terminal on serial port sourceman Linux - General 0 08-06-2002 04:21 AM

LinuxQuestions.org > Forums > Other *NIX Forums > Solaris / OpenSolaris

All times are GMT -5. The time now is 09:49 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration