working dell 2650 embedded remote access (ERA) linux tools

Chuck Cranor chuck at research.att.com
Fri Aug 22 13:30:34 PDT 2003


hi-

    about a year ago I posted about my failed attempt to gain access
to the Dell 2650 ERA device from FreeBSD using the Dell Linux tools
[ERA is an embedded device with its own ethernet link in a rack mount 
Dell 2650 box that lets you power cycle and control the 2650 remotely...].
In particular, I wanted to be able to run Linux "racadm" so that I could 
change the password on the ERA (because you can't do it through the web 
interface).

    since that time Dell has released a new stand-alone version of
"racadm" that simplified how it talks to the ERA --- it now just uses
sockets and can even be run remotely.

    there are two ways for "racadm" to communicate with the ERA:

	1. over the network, assumes that both your 2650 and its 
		ERA port are connected to a network and can talk
		to each other (i.e. not firewalled out).   i've used
		this mode under Linux emulation with both FreeBSD
		and NetBSD and it works just fine.

	2. the ERA has has a virtual sio 16550A device that runs
		a PPP server.  i have a patch to sio.c that configures
		up this virtual 16550A (comes up as sio4) and allows
		you to create a PPP connection to it.   this patch
		requires using a non-standard rclk in sio.c for the
		virtual 16550A so you can set a large "speed" because 
		otherwise you will get interrupt buffer overflows.


anyone else out there with 2650's that wants to be able to fully use 
their ERAs?  you need:

	0. a kernel with Linux system call emulation enabled

	1. racadm-2.20-1.i386.rpm from the Dell CD which i've converted
	   to a tgz at http://www.netbsd.org/~chuck/gz/racadm-2.20-1.i386.tgz
	   install in /usr/compat/linux ...

	2. if you want to be able to talk to the ERA without having it
	   on the network, patch sio.c (my patch below is relative to
	   4.7 but the changes are minimal and should be easy to port?),
	   recompile kernel, install, reboot.

	   assuming your ERA comes up as sio4, use this command to start
	   ppp:

		pppd /dev/cuaa4 1382400 crtscts noipdefault noauth lock persist connect 'chat -v "" CLIENT CLIENTSERVER "\\c"'

	3. test it

	   to test remote operation:
		/usr/compat/linux/usr/sbin/racadm -r 10.0.0.1 -i getsysinfo
	   	  [where you change 10.0.0.1 to IP addr of your ERA interface]

	   to test the ppp link, use:  (my ERA comes up at 192.168.234.236)
		/usr/compat/linux/usr/sbin/racadm getsysinfo


see http://docs.us.dell.com/docs/software/smdrac3/RAC/en/racadmug/racadmc1.htm
for more details on running racadm...
	   
hope someone finds this useful.

chuck


*** sio.c_ORIG	Thu Aug 21 14:48:50 2003
--- sio.c	Fri Aug 22 19:44:10 2003
***************
*** 591,609 ****
  	u_int32_t	type;
  	const char	*desc;
  	int		rid;
  };
  
  static struct pci_ids pci_ids[] = {
! 	{ 0x100812b9, "3COM PCI FaxModem", 0x10 },
! 	{ 0x2000131f, "CyberSerial (1-port) 16550", 0x10 },
! 	{ 0x01101407, "Koutech IOFLEX-2S PCI Dual Port Serial", 0x10 },
! 	{ 0x01111407, "Koutech IOFLEX-2S PCI Dual Port Serial", 0x10 },
! 	{ 0x048011c1, "Lucent kermit based PCI Modem", 0x14 },
! 	{ 0x95211415, "Oxford Semiconductor PCI Dual Port Serial", 0x10 },
! 	{ 0x7101135e, "SeaLevel Ultra 530.PCI Single Port Serial", 0x18 },
! 	{ 0x0000151f, "SmartLink 5634PCV SurfRider", 0x10 },
! 	{ 0x98459710, "Netmos Nm9845 PCI Bridge with Dual UART", 0x10 },
! 	{ 0x00000000, NULL, 0 }
  };
  
  static int
--- 591,611 ----
  	u_int32_t	type;
  	const char	*desc;
  	int		rid;
+ 	u_long		rclk;
  };
  
  static struct pci_ids pci_ids[] = {
! 	{ 0x100812b9, "3COM PCI FaxModem", 0x10, 0 },
! 	{ 0x2000131f, "CyberSerial (1-port) 16550", 0x10, 0 },
! 	{ 0x01101407, "Koutech IOFLEX-2S PCI Dual Port Serial", 0x10, 0 },
! 	{ 0x01111407, "Koutech IOFLEX-2S PCI Dual Port Serial", 0x10, 0 },
! 	{ 0x048011c1, "Lucent kermit based PCI Modem", 0x14, 0 },
! 	{ 0x95211415, "Oxford Semiconductor PCI Dual Port Serial", 0x10, 0 },
! 	{ 0x7101135e, "SeaLevel Ultra 530.PCI Single Port Serial", 0x18, 0 },
! 	{ 0x0000151f, "SmartLink 5634PCV SurfRider", 0x10, 0 },
! 	{ 0x98459710, "Netmos Nm9845 PCI Bridge with Dual UART", 0x10, 0 },
! 	{ 0x00081028, "Dell RAC Serial PPP Link", 0x14, DEFAULT_RCLK*128 },
! 	{ 0x00000000, NULL, 0, 0 }
  };
  
  static int
***************
*** 620,626 ****
  	if (id->desc == NULL)
  		return (ENXIO);
  	sio_pci_kludge_unit(dev);
! 	return (sioattach(dev, id->rid, 0UL));
  }
  
  /*
--- 622,628 ----
  	if (id->desc == NULL)
  		return (ENXIO);
  	sio_pci_kludge_unit(dev);
! 	return (sioattach(dev, id->rid, (id->rclk) ? id->rclk : 0UL));
  }
  
  /*


More information about the freebsd-hackers mailing list