Re: Multiple serial consoles via null modem cable

2010-01-21 Thread Marin Atanasov
Hello Jeremy,

Now I'm a little confused :)

I've made some tests with my machines and a couple of null modem cables, and
here's what I've got.

On Wed, Jan 20, 2010 at 9:46 AM, Jeremy Chadwick
free...@jdc.parodius.comwrote:

 On Wed, Jan 20, 2010 at 08:46:48AM +0200, Marin Atanasov wrote:
  Hello,
 
  Using `cu' only works with COM1 for me.
 
  Currently I have two serial ports on the system, and only the first is
 able
  to make the connection - the serial consoles are enabled in /etc/tty, but
 as
  I said only COM1 is able to make the connection.

 I'm a little confused by this statement, so I'll add some clarify:

 /etc/ttys is for configuring a machine to tie getty (think login prompt)
 to a device (in this case, a serial port).  Meaning: the device on the
 other end of the serial cable will start seeing login: and so on
 assuming you attach to the serial port there.

 For example:

 box1 COM1/ttyu0 is wired to box2 COM3/ttyu2 using a null modem cable.
 box1 COM2/ttyu1 is wired to box2 COM4/ttyu3 using a null modem cable.

 On box1, you'd have something like this in /etc/ttys:

 ttyu0   /usr/libexec/getty std.9600   vt100  on secure
 ttyu1   /usr/libexec/getty std.9600   vt100  on secure


Here's what I did:

box1 COM1/ttyd0 - box2 COM1/ttyd0 - using null modem cable
box1 COM2/ttyd1 - box3 COM1/ttyd0 - using null modem cable

On box1 I have this in /etc/ttys:

ttyd0   /usr/libexec/getty std.9600   vt100   on secure
ttyd1   /usr/libexec/getty std.9600   vt100   on secure

Now if I want to connect to box1 from box2 or box3 through the serial
connection it should work, right?
But I only can connect to box1 from box2, because box2's COM port is
connected to box1's COM1 port.

From box2 I can get a login prompt
box2# cu -l /dev/cuad0 -s 9600
Connected

login:
)
(host.domain) (ttyd0)

login: ~
[EOT]

But if I try to connect to box1 from box3 - no success there.
box3# cu -l /dev/cuad0 -s 9600
Connected
~
[EOT]



 This means that login prompts for box1 will be spawned/available on both
 serial ports (ttyu0 and ttyu1).

 If you get on box2 and do cu -l ttyu2, this will connect you to box2's
 COM3 port, which is physically connected to box1's COM1 port.  Hit enter
 and you should see a login: prompt for box1.

 The same applies if you get on box2 and do cu -l ttyu3 (but for box2's
 COM4 port, which is wired to box1's COM2 port).

 With the above configuration in mind, you SHOULD NOT:

 - Mess with /etc/ttys on box2
 - Execute cu -l ttyu0 or cu -l ttyu1 on box1 -- this probably won't
  work (likely will return some message about the device being locked or
  in use already).

 You cannot do something like where box1 COM1 is wired to box2 COM1, and
 depending on what box you're on doing the cu -l ttyu0 from, get a
 login prompt on the other.  It doesn't work like that.  :-)

 Now, about actual *serial console* itself -- that is to say, kernel
 output during boot, etc... on a serial port.  AFAIK, on FreeBSD you can
 only set serial console to a single serial port, and that defaults to
 COM1/ttyu0.  You can change what port/device, but there can only be one.

 Yes, probably I didn't explain myself better, but you did it good - what I
was trying to say is that I can use only one COM port for serial console,
which of course defaults to COM1.

Also is conserver/conserver-com able to handle more than one serial consoles
on a machine? I haven't tried conserver yet.

Thanks for the good explanation again :)
Marin



 HTH...


Now


  On Sun, Jan 17, 2010 at 3:32 PM, Ronald Klop 
 ronald-freeb...@klop.yi.orgwrote:
 
   On Fri, 15 Jan 2010 07:34:17 +0100, Marin Atanasov dna...@gmail.com
   wrote:
  
Thank you a lot for your feedback!
  
   Now to the real question again, because I'm a little confused now -
 can I
   still get a usb-to-serial port converter having let's say 8 serial
 ports
   and
   then connect each machine to the usb-to-serial hub and manage them
   remotely
   from a single location (the host having the usb-to-serial hub)? That
 way I
   just specify a serial port number and I get to a specific machine?
  
   The model provided by Boris looks nice, and that was my initial idea,
 but
   I'm not sure if I could get it working under FreeBSD. Is conserver or
   conserver-com able to handle this? I know that cu uses COM1 only, but
 will
   conserver able to handle serial consoles on different ports, since the
   usb-to-serial port would appear as multiple serial ports.
  
  
   You can provide cu with the port to connect to on the command line.
  
   cu -l cuaU0 -s 115200
   cu -l cuaU1 -s 115200
   etc.
  
   You can not connect several servers on 1 serial port, but you can
 connect
   several servers on several serial ports. With serial-over-usb it scales
 to
   many serial ports.
  
   Ronald.
  
  
   Thank you and regards,
   Marin
  
  
   On Tue, Jan 12, 2010 at 7:04 PM, Boris Samorodov b...@ipt.ru wrote:
  
On Tue, 12 Jan 2010 17:14:44 +0200 Marin Atanasov wrote:
  
I'm thinking about the 

Re: DELL SAS5/E Controller bug

2010-01-21 Thread John Baldwin
On Thursday 21 January 2010 2:21:48 am Stephane LAPIE wrote:
 John Baldwin wrote:
  On Wednesday 20 January 2010 10:09:43 am Stephane LAPIE wrote:
  John Baldwin wrote:
  On Wednesday 20 January 2010 4:30:52 am Stephane LAPIE wrote:
  Hello list,
 
  Basically I'm experiencing the same problem as described here :
  https://forums.freebsd.org/showthread.php?t=9407 (linking for 
reference)
 
  Drives disconnections are not recognized instantly, and instead I get
  the following dmesg entries :
  mpt0: mpt_cam_event: 0x16
  mpt0: mpt_cam_event: 0x16
 
  (Sometimes I also get mpt0: mpt_cam_event: 0x12 events)
 
  This is really crippling as this litterally paralyzes the ZFS pool 
until
  the controller finally comes to its senses (...or until a disk gets
  replugged in, which provokes a flush of all the buffered failed SCSI
  requests).
 
  Hardware is recognized as :
  m...@pci0:6:8:0: class=0x01 card=0x1f041028 chip=0x00541000 
rev=0x01
  hdr=0x00
  vendor = 'LSI Logic (Was: Symbios Logic, NCR)'
  device = 'SAS 3000 series, 8-port with 1068 -StorPort'
  class = mass storage
  subclass = SCSI
 
  Did anyone else experience this, or find a proper work-around ?
  Invoke 'camcontrol rescan' after removing a drive.  mptutil(8) does the 
  equivalent when adding and removing volumes to make up for the driver 
not 
  automatically rescanning.
  I already tried reset/rescan via camcontrol, but after removing a drive, 
  the process freezes (process status D, Ctrl+T in terminal shows it's 
  in a cbwait state, it can't be bg'ed). I did not wait for a hardware 
  timeout, I tried replugging the drive, which released the ZFS and 
  camcontrol locks.
 
 
  Also, I tried poking around with mptutil and could obtain the following 
  information, if it can be of any help :
 
  freebsd-r610# mptutil -u 0 show adapter
  mpt0 Adapter:
  Board Name: SAS5e
  Board Assembly:
   Chip Name: C1068
   Chip Revision: UNUSED
 RAID Levels: none
  mptutil: Reading config page header failed: Invalid configuration page
 
  (The above error message should be normal since this is not a RAID 
  controller, though a bit jarring)
  
  This patch should fix that:
  
  Index: mpt_show.c
  ===
  --- mpt_show.c  (revision 202640)
  +++ mpt_show.c  (working copy)
  @@ -78,6 +78,7 @@
  CONFIG_PAGE_MANUFACTURING_0 *man0;
  CONFIG_PAGE_IOC_2 *ioc2;
  CONFIG_PAGE_IOC_6 *ioc6;
  +   U16 IOCStatus;
  int fd, comma;
   
  if (ac != 1) {
  @@ -108,7 +109,7 @@
   
  free(man0);
   
  -   ioc2 = mpt_read_ioc_page(fd, 2, NULL);
  +   ioc2 = mpt_read_ioc_page(fd, 2, IOCStatus);
  if (ioc2 != NULL) {
  printf(  RAID Levels:);
  comma = 0;
  @@ -151,9 +152,10 @@
  printf( none);
  printf(\n);
  free(ioc2);
  -   }
  +   } else if (IOCStatus != MPI_IOCSTATUS_CONFIG_INVALID_PAGE)
  +   warnx(mpt_read_ioc_page(2): %s, mpt_ioc_status(IOCStatus));
   
  -   ioc6 = mpt_read_ioc_page(fd, 6, NULL);
  +   ioc6 = mpt_read_ioc_page(fd, 6, IOCStatus);
  if (ioc6 != NULL) {
  display_stripe_map(RAID0 Stripes,
  ioc6-SupportedStripeSizeMapIS);
  @@ -172,7 +174,8 @@
  printf(-%u, ioc6-MaxDrivesIME);
  printf(\n);
  free(ioc6);
  -   }
  +   } else if (IOCStatus != MPI_IOCSTATUS_CONFIG_INVALID_PAGE)
  +   warnx(mpt_read_ioc_page(2): %s, mpt_ioc_status(IOCStatus));
   
  /* TODO: Add an ioctl to fetch IOC_FACTS and print firmware version. */
   
  
  However, the following is a bit disturbing :
 
  freebsd-r610# mptutil -u 0 show drives
  mpt0 Physical Drives:
da0 (  932G) ONLINE SEAGATE ST31000640SS MS04 SAS bus 0 id 0
da1 (  932G) ONLINE SEAGATE ST31000640SS MS04 SAS bus 0 id 1
da2 (  932G) ONLINE SEAGATE ST31000640SS MS04 SAS bus 0 id 2
da3 (  932G) ONLINE SEAGATE ST31000640SS MS04 SAS bus 0 id 3
da4 (  932G) ONLINE SEAGATE ST31000640SS MS04 SAS bus 0 id 4
da5 (  932G) ONLINE SEAGATE ST31000640SS MS04 SAS bus 0 id 5
da6 (  932G) ONLINE SEAGATE ST31000640SS MS05 SAS bus 0 id 6
da7 (  932G) ONLINE SEAGATE ST31000640SS MS05 SAS bus 0 id 7
da8 (  932G) ONLINE SEAGATE ST31000640SS MS05 SAS bus 0 id 8
da9 (  932G) ONLINE SEAGATE ST31000640SS MS05 SAS bus 0 id 9
  da10 (  932G) ONLINE SEAGATE ST31000640SS MS05 SAS bus 0 id 10
  da11 (  932G) ONLINE SEAGATE ST31000640SS MS05 SAS bus 0 id 11
  da12 (  932G) ONLINE SEAGATE ST31000640SS MS05 SAS bus 0 id 12
  da13 (  932G) ONLINE SEAGATE ST31000640SS MS05 SAS bus 0 id 13
  da14 (  932G) ONLINE SEAGATE ST31000640SS MS05 SAS bus 0 id 14
  da15 (  136G) ONLINE Dell VIRTUAL DISK 1028 SAS bus 0 id 0
 
  The above listing seems weird, as da15 should belong to mpt1.
  
  Agreed.  I specifically ask that CAM only return results for devices on 
bus 0
  of mptX.  Before when I debugged 

Re: Multiple serial consoles via null modem cable

2010-01-21 Thread Ulrich Spörlein
On Thu, 21.01.2010 at 11:37:06 +0200, Marin Atanasov wrote:
 Here's what I did:
 
 box1 COM1/ttyd0 - box2 COM1/ttyd0 - using null modem cable
 box1 COM2/ttyd1 - box3 COM1/ttyd0 - using null modem cable
 
 On box1 I have this in /etc/ttys:
 
 ttyd0   /usr/libexec/getty std.9600   vt100   on secure
 ttyd1   /usr/libexec/getty std.9600   vt100   on secure
 
 Now if I want to connect to box1 from box2 or box3 through the serial
 connection it should work, right?
 But I only can connect to box1 from box2, because box2's COM port is
 connected to box1's COM1 port.

Are there actually two gettys running on the serial ports? Did you do
kill -1 1 after the changes to /etc/ttys?

On box1, what do the following commands produce

egrep uart|sio /var/run/dmesg.boot
pgrep -fl getty

Regards,
Uli
___
freebsd-hardware@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hardware
To unsubscribe, send any mail to freebsd-hardware-unsubscr...@freebsd.org


ichwd device ID for Intel H55 Express Watchdog

2010-01-21 Thread Mike Tancsa
In case anyone else is looking to enable this for their Intel i3 MB, 
you just need to add the device ID


http://www.freebsd.org/cgi/query-pr.cgi?pr=143068http://www.freebsd.org/cgi/query-pr.cgi?pr=143068 




0(i3)% dmesg
Copyright (c) 1992-2010 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 9.0-CURRENT #0: Thu Jan 21 15:14:14 EST 2010
mdtan...@ich10.sentex.ca:/usr/HEAD/obj/usr/HEAD/src/sys/alix i386
Timecounter i8254 frequency 1193182 Hz quality 0
CPU: Intel(R) Core(TM) i3 CPU 530  @ 2.93GHz (2926.02-MHz 
686-class CPU)

  Origin = GenuineIntel  Id = 0x20652  Stepping = 2
  
Features=0xbfebfbffFPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE
  
Features2=0x98e3bdSSE3,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,POPCNT
  AMD Features=0x2810NX,RDTSCP,LM
  AMD Features2=0x1LAHF
  TSC: P-state invariant
real memory  = 1073741824 (1024 MB)
avail memory = 894103552 (852 MB)
ACPI APIC Table: INTEL  DH55TC  
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s)
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  4
ACPI Warning: 32/64X FACS address mismatch in FADT - 
3762AE40/   03762AD40, using 32 (20091214/tbfadt-586)

ioapic0 Version 2.0 irqs 0-23 on motherboard
kbd1 at kbdmux0
cryptosoft0: software crypto on motherboard
acpi0: INTEL DH55TC on motherboard
acpi0: [ITHREAD]
acpi0: Power Button (fixed)
Timecounter ACPI-safe frequency 3579545 Hz quality 850
acpi_timer0: 24-bit timer at 3.579545MHz port 0x408-0x40b on acpi0
acpi_hpet0: High Precision Event Timer iomem 0xfed0-0xfed003ff on acpi0
Timecounter HPET frequency 14318180 Hz quality 900
pcib0: ACPI Host-PCI bridge port 0xcf8-0xcff on acpi0
pci0: ACPI PCI bus on pcib0
vgapci0: VGA-compatible display port 0xf100-0xf107 mem 
0xfe00-0xfe3f,0xd000-0xdfff irq 16 at device 2.0 on pci0

pci0: simple comms at device 22.0 (no driver attached)
atapci0: Intel ATA controller port 
0xf0f0-0xf0f7,0xf0e0-0xf0e3,0xf0d0-0xf0d7,0xf0c0-0xf0c3,0xf0b0-0xf0bf 
irq 18 at device 22.2 on pci0

atapci0: [ITHREAD]
ata2: ATA channel 0 on atapci0
ata2: [ITHREAD]
ata3: ATA channel 1 on atapci0
ata3: [ITHREAD]
pci0: simple comms, UART at device 22.3 (no driver attached)
em0: Intel(R) PRO/1000 Network Connection 6.9.24 port 0xf040-0xf05f 
mem 0xfe40-0xfe41,0xfe428000-0xfe428fff irq 20 at device 25.0 on pci0

em0: Using MSI interrupt
em0: [FILTER]
em0: Ethernet address: 00:27:0e:09:5e:00
ehci0: Intel PCH USB 2.0 controller USB-B mem 0xfe427000-0xfe4273ff 
irq 16 at device 26.0 on pci0

ehci0: [ITHREAD]
usbus0: EHCI version 1.0
usbus0: Intel PCH USB 2.0 controller USB-B on ehci0
pci0: multimedia, HDA at device 27.0 (no driver attached)
pcib1: ACPI PCI-PCI bridge irq 17 at device 28.0 on pci0
pci1: ACPI PCI bus on pcib1
pcib2: ACPI PCI-PCI bridge irq 17 at device 28.4 on pci0
pci2: ACPI PCI bus on pcib2
ehci1: Intel PCH USB 2.0 controller USB-A mem 0xfe426000-0xfe4263ff 
irq 23 at device 29.0 on pci0

ehci1: [ITHREAD]
usbus1: EHCI version 1.0
usbus1: Intel PCH USB 2.0 controller USB-A on ehci1
pcib3: ACPI PCI-PCI bridge at device 30.0 on pci0
pci3: ACPI PCI bus on pcib3
isab0: PCI-ISA bridge at device 31.0 on pci0
isa0: ISA bus on isab0
ahci0: Intel PCH AHCI SATA controller port 
0xf090-0xf097,0xf080-0xf083,0xf070-0xf077,0xf060-0xf063,0xf020-0xf03f 
mem 0xfe425000-0xfe4257ff irq 19 at device 31.2 on pci0

ahci0: [ITHREAD]
ahci0: AHCI v1.30 with 6 3Gbps ports, Port Multiplier not supported
ahcich0: AHCI channel at channel 0 on ahci0
ahcich0: [ITHREAD]
ahcich1: AHCI channel at channel 1 on ahci0
ahcich1: [ITHREAD]
ahcich2: AHCI channel at channel 2 on ahci0
ahcich2: [ITHREAD]
ahcich3: AHCI channel at channel 3 on ahci0
ahcich3: [ITHREAD]
ahcich4: AHCI channel at channel 4 on ahci0
ahcich4: [ITHREAD]
ahcich5: AHCI channel at channel 5 on ahci0
ahcich5: [ITHREAD]
pci0: serial bus, SMBus at device 31.3 (no driver attached)
acpi_button0: Power Button on acpi0
atrtc0: AT realtime clock port 0x70-0x71 irq 8 on acpi0
atkbdc0: Keyboard controller (i8042) port 0x60,0x64 irq 1 on acpi0
atkbd0: AT Keyboard irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
atkbd0: [ITHREAD]
uart0: 16550 or compatible port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
uart0: [FILTER]
uart0: console (9600,n,8,1)
cpu0: ACPI CPU on acpi0
est0: Enhanced SpeedStep Frequency Control on cpu0
p4tcc0: CPU Frequency Thermal Control on cpu0
cpu1: ACPI CPU on acpi0
est1: Enhanced SpeedStep Frequency Control on cpu1
p4tcc1: CPU Frequency Thermal Control on cpu1
pmtimer0 on isa0
orm0: ISA Option ROM at iomem 0xcd000-0xcdfff pnpid ORM on isa0
sc0: System console at flags 0x100 on isa0
sc0: VGA 16 virtual consoles, flags=0x300
vga0: Generic ISA VGA at port 0x3c0-0x3df iomem 

Re: DELL SAS5/E Controller bug

2010-01-21 Thread Stephane LAPIE
John Baldwin wrote:
 Gah, that should be the case that I ignore.  Can you replace the second 
 warnx() call I added with this:
 
   warnx(mpt_read_ioc_page(6): %s (%x), 
 mpt_ioc_status(IOCStatus),
   IOCStatus);

I now get the following message :
mptutil: mpt_read_ioc_page(6): Invalid configuration page (8022)

(Though I guess this doesn't tell anything that we did not know initially)

 I know that the rescan after removing a device is a bit messy (lots of 
 messages before daX actually goes away), but I don't recall it taking such a 
 long time.

Even without rescanning the bus, the device actually goes away on its
own after the same delay of three minutes.

 The documentation is not public.  The 0x12 and 0x16 messages are events that
 I have seen.  You can try talking to scottl@ as he has access to the docs.

I could contact Scott, and here are the relevant bits of his answer :
 The basic problem is that FreeBSD still sees all of this as parallel SCSI, 
 subject to rescans and resets and timeouts.  It's fighting with the SAS 
 controller.  I'll explain more below.

 I'm working on code that will make FreeBSD more aware of how SAS works.  It's 
 several months from being done, though. 

Reposting here for reference the meaning of 0x12 and 0x16 events :
0x12 : SAS Link status changed
0x16 : SAS Discovery Event

I was wondering if using an Areca SAS controller could be a better
solution, but Scott's answer has me wondering if this is a common issue
to all SAS controllers on FreeBSD.
-- 
Stephane LAPIE, EPITA SRS, Promo 2005
Even when they have digital readouts, I can't understand them.
--MegaTokyo



signature.asc
Description: OpenPGP digital signature


Re: Multiple serial consoles via null modem cable

2010-01-21 Thread Marin Atanasov
On Thu, Jan 21, 2010 at 6:26 PM, Ulrich Spörlein u...@spoerlein.net wrote:

 On Thu, 21.01.2010 at 11:37:06 +0200, Marin Atanasov wrote:
  Here's what I did:
 
  box1 COM1/ttyd0 - box2 COM1/ttyd0 - using null modem cable
  box1 COM2/ttyd1 - box3 COM1/ttyd0 - using null modem cable
 
  On box1 I have this in /etc/ttys:
 
  ttyd0   /usr/libexec/getty std.9600   vt100   on secure
  ttyd1   /usr/libexec/getty std.9600   vt100   on secure
 
  Now if I want to connect to box1 from box2 or box3 through the serial
  connection it should work, right?
  But I only can connect to box1 from box2, because box2's COM port is
  connected to box1's COM1 port.

 Are there actually two gettys running on the serial ports? Did you do
 kill -1 1 after the changes to /etc/ttys?

 On box1, what do the following commands produce

 egrep uart|sio /var/run/dmesg.boot
 pgrep -fl getty

 Regards,
 Uli

Hi,

This is the output from the requested commands:

box1# egrep 'uart|sio' /var/run/dmesg.boot
usb0: USB revision 1.0
sio0: 16550A-compatible COM port port 0x3f8-0x3ff irq 4 flags 0x10 on
acpi0
sio0: type 16550A
sio1: 16550A-compatible COM port port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A

box1# pgrep -fl getty
3066 /usr/libexec/getty std.9600 ttyd1
3065 /usr/libexec/getty std.9600 ttyd0
534 /usr/libexec/getty Pc ttyv7
533 /usr/libexec/getty Pc ttyv6
532 /usr/libexec/getty Pc ttyv5
531 /usr/libexec/getty Pc ttyv4
530 /usr/libexec/getty Pc ttyv3
529 /usr/libexec/getty Pc ttyv2
528 /usr/libexec/getty Pc ttyv1
527 /usr/libexec/getty Pc ttyv0

Regards,
Marin
-- 
Marin Atanasov Nikolov
dnaeon AT gmail DOT com
daemon AT unix-heaven DOT org
___
freebsd-hardware@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hardware
To unsubscribe, send any mail to freebsd-hardware-unsubscr...@freebsd.org