Logging Into The DMP1

From Omnifi Wiki

Jump to: navigation, search
Quick Links
Linux-Inside.jpg
Related topics
  • Find Something
    • To Put Here

edit

The following are simple steps to enable yourself to log into the DMP1 (to take a look around, of course)...

Contents

Prep:

  1. You'll need to ensure that you've got Wireless Networking working for your DMP1. Enable WEP as a precaution. Read about them here HowTo#Setup.
  2. Ensure DMP1 has Openfi installed. Go here to get it. When installing OpenFi onto your DMP1, there will be a file in the /transfer directory called etc_hosts file. Edit this file while it's still attached to your PC. Mine looks like the following:
  3. # pwd
    /transfer
    # more etc_hosts
    IP address      name                    alias
    ----------      ----                    -----
    127.0.0.1       localhost.localdomain   localhost
    192.168.100.1   ppphost
    10.0.1.11       andydesk
    192.168.1.1     wormhole.mshome.net     wormhole
    192.168.1.15    dmp1.mshome.net         dmp1
    192.168.1.10    dms1.mshome.net         dms1
    192.168.1.8     vector.mshome.net       vector
    192.168.1.6     suse.mshome.net         suse
    192.168.1.100   999LX2B.mshome.net      999LX2B
    192.168.1.110   Betelguese.mshome.net   betelguese
    192.168.1.111   Antares.mshome.net      antares
    192.168.1.192   Rigel.mshome.net        rigel
    192.168.1.254   wirelessb.mshome.net    wirelessb
    # _
    

    wormhole is my router to the Internet
    vector, suse are my linux boxes
    999LX2B is my WinXp laptop
    You get the idea...

    The first three lines were already in the etc_hosts file - leave the 127.0.0.1 entry and you can get rid of everything else, and substitute your own. This etc_hosts will be loaded, overwriting your DMP1's generic /etc/hosts when it starts up.

    Doing so helps rlogin go much quicker. Otherwise, you may wait up to a few minutes while the DMP1 tries to lookup your machine name (and eventually times out) before you can get to a bash prompt.

  4. Get to a machine with rlogin installed. Many Linux installations have this. In Cygwin, rlogin is included in the "inetutils" package (found under the "Net" category). Or, you can also obtain a copy from here and install it manually. For Winderz peeps, putty is a good, free solution. download from here. You'll only need the puTTY (telnet and SSH client) only.
  5. Make sure your DMP1 has the latest firmware (2.0.315) installed for best performance.
  6. If you know you're going to be in there for a while, do what I do: I bought a car battery charger (not for this application, but it's very handy). Put your car on the battery charger or else you'll run down your battery!
  7. Turn the ignition on!

Logging On

  1. Go to your PC with rlogin installed. From the command prompt, type in:
  2. [root@vector~]# rlogin -l root dmp1
    

    or

    [root@vector~]# rlogin -l root 192.168.1.15
    

    If you're already logged onto your Linux machine as root (I know, I know, that's not a good thing to do), then you can leave off the -l root from the command.

    You'll boot right into your DMP1, without a password:

    [root@vector~]# rlogin -l root dmp1
    
    
    BusyBox v0.60.3 (2003.02.20-23:40+0000) Built-in shell (ash)
    Enter 'help' for a list of built-in commands.
    
    # _
    

    Wheee!

  3. Open up another shell and issue the following command:
  4. [root@vector~]# ftp dmp1
    Connected to dmp1.mshome.net.
    220 bftpd 1.0.24 at 192.168.1.15 ready.
    Name (dmp1:root): 
    230 User logged in.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> _
    
  5. At this stage in the game, you cannot put anything up on to the DMP1.
  6. # pwd
    257 "/root" is the current working directory.
    ftp> cd /sync/transfer
    250 OK
    ftp> lcd dmp1
    Local directory now /root/dmp1
    ftp> put hello
    local: hello remote: hello
    200 PORT 192.168.1.8:1091 OK
    553 Error: Permission denied.
    ftp> _
    

    Why? If you look at the fs mounts, you'll see the following (in the ARM's busybox):

    # mount
    /dev/mtdblock/5 on /.persistent type ext2 (ro)
    /dev/discs/disc0/part1 on /storage/disc1 type vfat (ro,uid=500,gid=500)
    /storage/disc1/transfer on /sync/transfer type none (rw,bind)
    /storage/disc1/usr on /sync/usr type none (rw,bind)
    /storage/disc1/transfer/hotplug on /hotplug type none (rw,bind)
    # _
    
  7. The ftp user "root" logs into the /root as his ftproot. The ftp user "sync" logs into the /sync as his ftproot. In both cases, they should start to be able to put something right up there, but they can't until you invoke the following from the rlogin commandline:
  8. # discWE
    # 
    

    This Write-Enables the HD cartridge. Now your FTP attempt will work.

    ftp> put hello
    local: hello remote: hello
    200 PORT 192.168.1.8:1092 OK
    150 BINARY data connection established.
    226 File transmission successful.
    3144 bytes sent in 0.323 secs (9.5 Kbytes/sec)
    ftp> _
    

    Yay!

  9. Don't forget to Write Disable the HD cartridge with the following command:
  10. # discWD
    # _
    

You Want To Upload Something To The Music_Collections Folder?

Really! Well, here's how:

  1. From the rlogin shell, type:
  2. # discWE
    # _
    
  3. From the FTP shell, issue:
  4. [root@vector~]# ftp dmp1
    Connected to dmp1.mshome.net.
    220 bftpd 1.0.24 at 192.168.1.15 ready.
    Name (dmp1:root): 
    230 User logged in.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> cd /storage/disc1
    250 OK
    ftp> ls 
    200 PORT 192.168.1.8:1094 OK
    150 BINARY data connection established.
    drwxr-xr-x 110 sync     sync        16384 Aug  7 22:14 Music_Collection
    drwxr-xr-x   2 sync     sync        16384 Aug  8 23:29 Recycled
    drwxr-xr-x   3 sync     sync        16384 Aug 11 07:18 System Volume Information
    drwxr-xr-x   5 sync     sync        16384 Sep  3 12:07 transfer
    drwxr-xr-x   7 sync     sync        16384 Aug  7 22:14 usr
    226 Directory list has been submitted.
    ftp> _
    

    Aha! There's that Music_Collection folder!

  5. Navigate into it, and put a file out there:
  6. ftp> cd Music_Collection 
    250 OK
    ftp> put test.mp3
    local: test.mp3 remote: test.mp3
    200 PORT 192.168.1.8:1097 OK
    150 BINARY data connection established.
    226 File transmission successful.
    3144 bytes sent in 0.00182 secs (1.7e+03 Kbytes/sec)
    ftp> bye
    221 See you later...
    [root@vector~]# _ 
    
  7. Don't forget to turn off the Write Enable:
  8. # discWD
    # _
    

    Any you're pretty much done.

  9. Actually, if you have WSFTPLE (like I do), then you can use that to navigate to the /storage/disc1/Music_Collection folder and upload (or download) entire folders and directory structures! Very handy. Remember that discWE needs to be enabled before writing anything up there. Windows users may be able to user PuTTY and WSFTP to login and FTP files around.

Running 'dmesg' For Troubleshooting

Used for troubleshooting and dumping the contents of the kernel buffer(? correct me, Andy or Chad), the 'dmesg' command is a handy tool for inspecting what might be going on. To invoke run the command as follows:

# dmesg

I've gratuitously plagarized an output from jsbridgeford on August 6, when he posted one of his own. Here is a sample output:

# dmesg
Linux version 2.4.18-rmk7 (root@LinuxBuild) (gcc version 2.95.3
20010315 (release)) #605 Mon Nov 24 02:20:35 PST 2003
CPU: ARM ARM720T revision 2
Machine: Cirrus Logic 7212/7312
On node 0 totalpages: 4096
zone(0): 4096 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/mtdblock4 devfs=mount
console=/dev/null 3 R2
Relocating machine vectors to 0xffff0000
Calibrating delay loop... 44.95 BogoMIPS
Memory: 16MB = 16MB total
Memory: 14136KB available (1564K code, 349K data, 40K init)
Dentry-cache hash table entries: 2048 (order: 2, 16384 bytes)
Inode-cache hash table entries: 1024 (order: 1, 8192 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 4096 (order: 2, 16384 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
devfs: v1.10 (20020120) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
ttyAM%d0 at I/O 0x100 (irq = 12) is a CLPS711x
ttyAM%d1 at I/O 0x1100 (irq = 28) is a CLPS711x
pty: 256 Unix98 ptys configured
Loading cs4340 driver built on Nov 24 2003 at 02:21:03
s485drv loaded -- version 10005 build on Nov 24 2003 at 02:21:01
block: 64 slots per queue, batch=16
SCSI subsystem driver Revision: 1.00
physmap flash device: 400000 at 0
Performing cfi_probe probe ... <7>0:
offset=0x0,size=0x20000,blocks=32
Using buffer write method
success
Creating 5 MTD partitions on "Physically mapped flash":
0x00000000-0x00020000 : "ARMboot"
0x00020000-0x00160000 : "Rescue Kernel"
0x00160000-0x00260000 : "Production Kernel"
0x00260000-0x003e0000 : "Root FS"
0x003e0000-0x00400000 : "Persistent"
init_module invoked
!!!!!!!!!!!!!!!WE HAVE DEVFS!!!!!!!!!!!!!!!
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-uhc124.c: $Revision: 1.2 $ time 02:21:27 Nov 24 2003
INFO: UHC124 Host Controller Driver
Mapped to 20000000, ptrUHC124=c203f000
Mapped SRAM to c204d000
Mapped to 80000000, ptrPORT_D=c2041000
write to c2041043 and c2041003
MEMORY CONFIGURATION is 98171714
MEMORY CONFIGURATION is 98171714
PLL MULTIPLIER is 31000000
INFO: UHC124 memory test successful
usb.c: new USB bus registered, assigned bus number 1
INFO: UHC124 at IRQ 5
INFO: bytes_spread = 1
hub.c: USB hub found
hub.c: 1 port detected
CONFIGURED HOTPLUGGING
call_policy add, num 1 -- no FS yet<6>usb-uhc124.c: v1.0:UHC124 Host
Controller                                              Interface
driver
pegasus.c: v0.4.22 (2001/12/07):Pegasus/Pegasus II USB Ethernet
driver
usb.c: registered new driver pegasus
kaweth.c: Driver loading
usb.c: registered new driver kaweth
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
USB Mass Storage support registered.
prism2_init_module: prism2_usb.o: 0.1.15 Loaded
prism2_init_module: dev_info is: prism2_usb
usb.c: registered new driver prism2_usb
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 1024 bind 1024)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Fast Floating Point Emulator V0.9 (c) Peter Teichmann.
VFS: Mounted root (cramfs filesystem).
Mounted devfs on /dev
Freeing init memory: 40K
Warning: unable to open an initial console.
hub.c: USB new device connect on bus1/1, assigned device number 2
hub.c: USB hub found
hub.c: 4 ports detected
CONFIGURED HOTPLUGGING
kusbd: /sbin/hotplug add 2<6>hub.c: USB new device connect on
bus1/1/1, assigned
device number 3
CONFIGURED HOTPLUGGING
kusbd: /sbin/hotplug add 3<6>hub.c: USB new device connect on
bus1/1/4, assigned
device number 4
scsi0 : SCSI emulation for USB Mass Storage devices
 Vendor: TOSHIBA   Model: MK2023GAS         Rev: MA01
 Type:   Direct-Access                      ANSI SCSI revision: 02
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sda: 39070080 512-byte hdwr sectors (20004 MB)
Partition check:
 /dev/scsi/host0/bus0/target0/lun0: p1
WARNING: USB Mass Storage data integrity not assured
USB Mass Storage device found at 4
CONFIGURED HOTPLUGGING
kusbd: /sbin/hotplug add 4<6>ident: nic h/w: id=0x8010 1.0.0
ident: pri f/w: id=0x15 1.1.2
ident: sta f/w: id=0x1f 1.4.9
MFI:SUP:role=0x00:id=0x01:var=0x01:b/t=1/1
CFI:SUP:role=0x00:id=0x02:var=0x02:b/t=1/1
PRI:SUP:role=0x00:id=0x03:var=0x01:b/t=1/4
STA:SUP:role=0x00:id=0x04:var=0x01:b/t=1/9
PRI-CFI:ACT:role=0x01:id=0x02:var=0x02:b/t=1/1
STA-CFI:ACT:role=0x01:id=0x02:var=0x02:b/t=1/1
STA-MFI:ACT:role=0x01:id=0x01:var=0x01:b/t=1/1
Prism2 card SN: 000000000001
e28f_open invoked: device type = 0, device num = 6
e28f_open: Opening device
e28f_ioctl: invoked, cmd 2, arg -1073743964
e28f_ioctl: E28F_IOCGUSRID
Usr ID: 0x56a2 <4>0x0 <4>0x1d <4>0x0
e28f_release invoked
# _

Somehow, this means more to Chad, Sanjay and Andy Poling than me... Looks like a bunch of messages I see when my Linux at home starts up. But it is an useful tool, nonetheless (along with that 'strace' I've found!)

Play Around - But Be Careful!

There are a couple of neat programs on there

/sbin/r2lcdwrite - this will put up the Omnifi Logo and say it's upgrading (it really doesn't upgrade, though).

/sbin/r2poweroff - shuts the DMP1 off, fast! But the faceplate LCD remains on... :-/

/sbin/lcdshow - clears the screen, and writes a message out on the middle line

/sbin/lcdshow Bummer, man!

/var/sbin/lcdwrite - Andy uses this in his openfi_start script. It can clear the screen, or write to any line on the screen:

/var/sbin/lcdwrite clear
/var/sbin/lcdwrite 0 I wish I were an
/var/sbin/lcdwrite 1 Oscar Meyer Weiner!
/var/sbin/lcdwrite 2 ;-P

You'll note it takes about 1/2 second to render each line. If you want to make it faster add a "&" character at the end of the lines...

/var/sbin/lcdwrite clear &
/var/sbin/lcdwrite 0 I wish I were an &
/var/sbin/lcdwrite 1 Oscar Meyer Weiner! &
/var/sbin/lcdwrite 2 ;-P &

Have fun! ~lum

See Also


External Links

Putty Homepage


Lumkichi 13:21, 9 Nov 2005 (CST)

Personal tools