Ok, so either your file is broken or the present working directory of
tcpborphserver3 is not correct. You can see the current working directory
by:
cd /proc/PID
ls -la
cwd will be a link to the current working directory.
In the telnet session run ?chdir /usr/bof
Then try again. If this does not work try md5sum on your boffile and
compare it to the original.
Alec,
Here is the output:
/dev/roach # ps ax
PID USER TIME COMMAND
1 root 0:01 init
2 root 0:00 [kthreadd]
3 root 0:00 [ksoftirqd/0]
4 root 0:00 [kworker/0:0]
5 root 0:00 [kworker/u:0]
6 root 0:00 [khelper]
7 root 0:00 [kworker/u:1]
92 root 0:00 [sync_supers]
94 root 0:00 [bdi-default]
95 root 0:00 [kintegrityd]
97 root 0:00 [kblockd]
138 root 0:00 [rpciod]
140 root 0:00 [kworker/0:1]
166 root 0:00 [khungtaskd]
170 root 0:00 [kswapd0]
171 root 0:00 [ksmd]
233 root 0:00 [fsnotify_mark]
237 root 0:00 [nfsiod]
336 root 0:00 [mtdblock0]
341 root 0:00 [mtdblock1]
346 root 0:00 [mtdblock2]
351 root 0:00 [mtdblock3]
356 root 0:00 [mtdblock4]
361 root 0:00 [mtdblock5]
436 root 0:00 [deferwq]
443 root 0:00 [jffs2_gcd_mtd2]
454 root 0:00 {rc.tcpborphserv} /bin/sh /etc/rc.tcpborphserver3
455 root 0:00 /sbin/getty 115200 ttyS0
456 root 0:00 /sbin/getty 115200 ttyS1
458 root 0:00 tcpborphserver3 -f -b /usr/bof
466 root 0:00 telnetd
467 root 0:00 -sh
470 root 0:00 ps ax
/dev/roach # strace -p 458
Process 458 attached - interrupt to quit
select(27, [25 26], [], NULL, NULL) = 1 (in [26])
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
read(26, "?progdev casper_test_2013_Aug_21"..., 492) = 43
gettimeofday({948057315, 506178}, NULL) = 0
gettimeofday({948057315, 507016}, NULL) = 0
open("./casper_test_2013_Aug_21_1251.bof", O_RDONLY) = -1 ENOENT (No such
file or directory)
gettimeofday({948057315, 508973}, NULL) = 0
rt_sigprocmask(SIG_SETMASK, [], [CHLD], 8) = 0
select(27, [25 26], [26], NULL, NULL) = 1 (out [26])
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
send(26, "#log info 948057315506 raw attem"..., 276,
MSG_DONTWAIT|MSG_NOSIGNAL) = 276
rt_sigprocmask(SIG_SETMASK, [], [CHLD], 8) = 0
select(27, [25 26], [], NULL, NULL
-Joe Kujawski
On Fri, Sep 6, 2013 at 10:17 AM, Alec Rust <[email protected]> wrote:
> Please see if there are 2 device files in /dev/roach. config and mem
> should be there. If they are not there you are running a kernel with an
> incorrect build option.
>
> If this is the case you can quickly fix it by following steps 3.3 to 3.5
> under "Steps to follow" on this wiki page:
> https://casper.berkeley.edu/wiki/FPGA_Device_Driver_Memo
>
> If you do have those files please telnet into the roach and find the PID
> of tcpborphserver3 as follows:
> ps ax
> then look for: 467 root 0:00 tcpborphserver3 -f -l /dev/null -i
> /etc/tcpborphserver3.i
> In this case 467 is the pid.
> Strace this process:
> strace -p PID
> Do not press enter yet, open another telnet session to the roach on port
> 7147, then press enter.
> now run ?progdev boffile in the telnet session and send me the strace
> output.
>
> If the file really can't be read you will find a line like this:
> open("/usr/bof/fubarorso", O_RDONLY) = -1 ENOENT (No such file or
> directory)
> where fubarorso does not exist
>
> There might be other reasons, but we should be able to figure it out with
> strace.
>
>
>
>
>
> On Fri, Sep 6, 2013 at 3:19 PM, Alec Rust <[email protected]> wrote:
>
>> Hi Joe, the bof file should be uploaded in to /usr/bof (note with
>> tcpborphserver3 the boffiles are not executable any more, you have to use
>> progdev).
>>
>> Telnet to the ROACH and run progdev:
>> telnet roach_ip 7147
>> ?progdev boffile
>>
>> You should get !progdev ok
>> ?listdev should list all your registers
>>
>> type ?help for a list of commands.
>>
>> You can transfer and program the boffile in one move using ?upload port,
>> or just transfer using ?uploadbof port filename.
>>
>> #help upload
>> upload\_and\_program\_a\_(possibly\_compressed)\_boffile\_(?upload\_[port\_[length\_[timeout]]])
>> #help uploadbof
>> upload\_a\_(possibly\_compressed)\_boffile\_(?uploadbof\_port\_filename\_[length\_[timeout]])
>>
>> Note the file then needs to be sent across using a separate TCP stream to
>> the specified port (in linux use netcat, not sure what to use in windows
>> but there is probably some netcat client available)
>>
>> Please let me know if you need more info.
>>
>> Regards
>> Alec
>>
>>
>> On Fri, Sep 6, 2013 at 1:25 AM, Kujawski, Joseph <[email protected]>wrote:
>>
>>> Laura,
>>>
>>> I am not using KATCP as the instruction set that I have access to does
>>> not explain how to use it. Do you have a link to some 'using KATCP'
>>> instructions that I can follow?
>>>
>>> My question is simply this:
>>>
>>> Given that I have a .bof file on my PC, how do I program the FPGA on the
>>> ROACH2 system to execute the program?
>>>
>>> I already know that:
>>> 1) The ROACH2 boots into soloboot.
>>> 2) I can physically connect to the ROACH2 (i.e. I have the proper
>>> hardware in place).
>>> 3) I can Telnet into the ROACH2 (i.e. the proper software is in place on
>>> both my Windows machine and the ROACH2).
>>> 4) I have a valid .bof file on the Windows machine.
>>> 5) I can transfer this file to the ROACH2.
>>>
>>> -Joe Kujawski
>>>
>>>
>>> On Thu, Sep 5, 2013 at 6:47 PM, Laura Vertatschitsch <[email protected]>wrote:
>>>
>>>> hey joe,
>>>>
>>>> how far did you get with KATCP and progdev?
>>>>
>>>> is your question perhaps about using the uploadbof command (mail list
>>>> archive<http://www.mail-archive.com/[email protected]/msg03726.html>
>>>> )?
>>>>
>>>> --Laura
>>>>
>>>>
>>>> On Thu, Sep 5, 2013 at 11:21 PM, Kujawski, Joseph
>>>> <[email protected]>wrote:
>>>>
>>>>> I have a ROACH2 that is in the following configuration:
>>>>>
>>>>> 1) My external computer is a Windows 7 (64 bit) computer.
>>>>> 2) The Windows machine is connected to the ROACH2 via a direct cable
>>>>> connection from the PC to the PPC ethernet port on the ROACH2.
>>>>> 3) I am able to telnet into the ROACH2 and transfer files from the PC
>>>>> to the ROACH2.
>>>>>
>>>>> According to the instructions on the CASPER website, I should be able
>>>>> to program the system by executing the .bof file, however, this does not
>>>>> work. One individual associated with the project has indicated that the
>>>>> ROACH2 cannot be executed and instead needs to be programmed via KATCP's
>>>>> "progdev" command. What do I do next?
>>>>>
>>>>> Thanks,
>>>>>
>>>>> -Joe Kujawski
>>>>>
>>>>> --
>>>>> **************************************
>>>>> * Joe Kujawski
>>>>> * Siena College
>>>>> * Dept. of Physics and Astronomy, RB 113
>>>>> * 515 Loudon Road
>>>>> * Loudonville, NY 12211-1462
>>>>> *
>>>>> * Email: [email protected]
>>>>> * Phone: 518-782-6885
>>>>> * Fax: 518-783-2986
>>>>> **************************************
>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>> **************************************
>>> * Joe Kujawski
>>> * Siena College
>>> * Dept. of Physics and Astronomy, RB 113
>>> * 515 Loudon Road
>>> * Loudonville, NY 12211-1462
>>> *
>>> * Email: [email protected]
>>> * Phone: 518-782-6885
>>> * Fax: 518-783-2986
>>> **************************************
>>>
>>>
>>
>
--
**************************************
* Joe Kujawski
* Siena College
* Dept. of Physics and Astronomy, RB 113
* 515 Loudon Road
* Loudonville, NY 12211-1462
*
* Email: [email protected]
* Phone: 518-782-6885
* Fax: 518-783-2986
**************************************