Ecco i passi:
- Occorre impostare un computer in modo da consentire di accettare connessioni tethering (io ho fatto con linux... purtroppo diventa veramente troppo lungo spiegare come, se non avete idea di cosa parlo, prendete per buona la cosa!) - (forse è anche possibile usare un cellulare e connettere in tethering sia la macchina che il computer, ma questa opzione non l'ho provata)
- connettere la macchina al computer via bluetooth ed abilitare il profilo internet
- ricavare l'indirizzo ip che il computer assegna alla macchina (che chiamerò myIpAddress)
Qualcuno di voi ha mai provato a "giocare" con qualcosa di simile?
Ecco di seguito una breve sessione che ho loggato dando solo qualche comando di help
(le linee che iniziano con '->' sono i punti in cui ho inserito i comandi):
Codice: Seleziona tutto
:~$ telnet myIpAddress
Trying myIpAddress
Connected to myIpAddress
Escape character is '^]'.
-> help
help Print this list
dbgHelp Print debugger help info
edrHelp Print ED&R help info
ioHelp Print I/O utilities help info
nfsHelp Print nfs help info
netHelp Print network help info
rtpHelp Print process help info
spyHelp Print task histogrammer help info
timexHelp Print execution timer help info
h [n] Print (or set) shell history
i [task] Summary of tasks' TCBs
ti task Complete info on TCB for task
sp adr,args... Spawn a task, pri=100, opt=0x19, stk=20000
taskSpawn name,pri,opt,stk,adr,args... Spawn a task
tip "dev=device1#tag=tagStr1", "dev=device2#tag=tagStr2", ...
Connect to one or multiple serial lines
td task Delete a task
ts task Suspend a task
tr task Resume a task
Type <CR> to continue, Q<CR> or q<CR> to stop:
tw task Print pending task detailed info
w [task] Print pending task info
d [adr[,nunits[,width]]] Display memory
m adr[,width] Modify memory
mRegs [reg[,task]] Modify a task's registers interactively
pc [task] Return task's program counter
iam "user"[,"passwd"] Set user name and passwd
whoami Print user name
devs List devices
ld [syms[,noAbort][,"name"]] Load stdin, or file, into memory
(syms = add symbols to table:
-1 = none, 0 = globals, 1 = all)
lkup ["substr"] List symbols in system symbol table
lkAddr address List symbol table entries near address
checkStack [task] List task stack sizes and usage
printErrno value Print the name of a status value
period secs,adr,args... Spawn task to call function periodically
repeat n,adr,args... Spawn task to call function n times (0=forever)
version Print VxWorks version info, and boot line
shConfig ["config"] Display or set shell configuration variables
Type <CR> to continue, Q<CR> or q<CR> to stop:
strFree [address] Free strings allocated within the shell (-1=all)
NOTE: Arguments specifying 'task' can be either task ID or name.
value = 1 = 0x1
-> edrHelp
Help for ED&R (Error Detection and Reporting)
=============================================
The following commands are available:-
edrShow - Displays the ED&R persistent error log.
By default (ie. no parameters) the entire log is displayed.
Adding a single numeric argument 'N' prints only the N
most recent error records. If N is negative, edrShow prints
the N oldest records. The second parameter denotes the number
of records to display, with zero indicating the entire log.
The third and fourth parameter restricts the records displayed
to only those records which match the facility and severity
specified, respectively. The following convience aliases are
provided:
edrFatalShow - show only FATAL errors
edrKernelShow - show only kernel events
edrRtpShow - show only RTP events
edrIntShow - show interrupt level events
edrBootShow - show boot events
edrRebootShow - show reboot events
edrInitShow - show initialisation errors
edrInfoShow - show info type events
edrUserShow - show user injected events
edrClear - Clears out the entire error-log.
This is a destructive operation, after which the error-log
is no longer accessible. USE IT WITH UTMOST CAUTION!
pmShow - Displays the current status of the default PM arena,
including all allocated regions within that arena.
value = 0 = 0x0
-> edrShow
ERROR LOG
=========
Log Size: 12288 bytes (3 pages)
Record Size: 4096 bytes
Max Records: 2
CPU Type: 0x5a
Errors Missed: 0 (old) + 0 (recent)
Error count: 2
Boot count: 1
Generation count: 1
==[1/2]==============================================================
Severity/Facility: WARNING/KERNEL
Boot Cycle: 1
OS Version: 6.7.0
Time: SAT JUN 24 13:10:08 2017 (ticks = 9785)
Task: "RG" (0x0497eba0)
memEdrLib pool out of memory; library disabled
<<<<<Traceback>>>>>
0x002ace4c vxTaskEntry +0x48 : 0x02a4dcb4 ()
0x02a4dcd4 LTTS7XML +0x2cf60: 0x02a4dae4 ()
0x02a4db58 LTTS7XML +0x2cde4: 0x02a82ac0 ()
0x02a82b94 LTTS7XML +0x61e20: 0x02a87d38 ()
0x02a87e48 LTTS7XML +0x670d4: 0x02b56c94 (0xf49dee0)
0x02b56cdc _ZN8TCartogr17Switch_db_managerEi+0x299d8: memPartCreate ()
0x002723b4 memPartCreate+0x50 : memPartInit ()
0x00272324 memPartInit +0xa8 : 0x0049a9e8 ()
0x0049aa8c memEdrItemGet+0xc18: memEdrErrorLog ()
==[2/2]==============================================================
Severity/Facility: WARNING/KERNEL
Boot Cycle: 1
OS Version: 6.7.0
Time: SAT JUN 24 13:10:11 2017 (ticks = 11488)
Task: "TR" (0x04985358)
memEdrLib pool out of memory; library disabled
<<<<<Traceback>>>>>
0x002ace4c vxTaskEntry +0x48 : 0x02aa2d6c ()
0x02aa2d8c LTTS7XML +0x82018: 0x02aa2908 ()
0x02aa2994 LTTS7XML +0x81c20: 0x02a9ff04 ()
0x02a9ff48 LTTS7XML +0x7f1d4: 0x02b56c94 (0xf4b5f00)
0x02b56cdc _ZN8TCartogr17Switch_db_managerEi+0x299d8: memPartCreate ()
0x002723b4 memPartCreate+0x50 : memPartInit ()
0x00272324 memPartInit +0xa8 : 0x0049a9e8 ()
0x0049aa8c memEdrItemGet+0xc18: memEdrErrorLog ()
value = 0 = 0x0
-> dbgHelp
dbgHelp Print this list
dbgInit Install debug facilities
b Display breakpoints and eventpoints
b addr[,task[,count]] Set breakpoint
e addr[,eventNo[,task[,func[,arg]]]]] Set eventpoint
dprintf addr[,task[,count]],fmtStr,args
Set dynamic printf eventpoint
hdprintf addr[,access[,task[,count]],fmtStr,args
Set hardware dynamic printf eventpoint
(bh() help entry lists access modes)
bd addr[,task] Delete breakpoint
bdall [task] Delete all breakpoints and eventpoints
c [task[,addr[,addr1]]] Continue from breakpoint
cret [task] Continue to subroutine return
s [task[,addr[,addr1]]] Single step
so [task] Single step/step over subroutine
l [adr[,nInst]] List disassembled memory
tt [task] Do stack trace on task
bh addr[,access[,task[,count[,quiet]]]] Set hardware breakpoint
access: 0 - instruction 1 - read/write data
2 - read data 3 - write data
value = 151 = 0x97
-> netHelp
hostAdd "hostname","inetaddr" - add a host to remote host table;
"inetaddr" must be in standard
Internet address format e.g. "90.0.0.4"
hostShow - print current remote host table
netDevCreate "devname","hostname",protocol
- create an I/O device to access files
on the specified host
(protocol 0=rsh, 1=ftp)
iam "usr"[,"passwd"] - specify the user name by which you
will be known to remote hosts
(and optional password)
whoami - print the current remote ID
rlogin "host" - log in to a remote host;
"host" can be inet address or
host name in remote host table
mbufShow - show mbuf statistics
EXAMPLE: -> hostAdd "wrs", "90.0.0.2"
-> netDevCreate "wrs:", "wrs", 0
Type <CR> to continue, Q<CR> or q<CR> to stop: q
value = 1 = 0x1
-> spyHelp
spyHelp Print this list
spyClkStart [ticksPerSec] Start task activity monitor running
at ticksPerSec ticks per second
spyClkStop Stop collecting data
spyReport Prints display of task activity
statistics
spyStop Stop collecting data and reports
spy [freq[,ticksPerSec]] Start spyClkStart and do a report
every freq seconds
ticksPerSec defaults to 100. freq defaults to 5 seconds.
value = 1 = 0x1
-> exit