ts-7000
[Top] [All Lists]

[ts-7000] Re: The TS-SER2 Parallel port on TS-72XX (TS-SER1 ?!?)

To:
Subject: [ts-7000] Re: The TS-SER2 Parallel port on TS-72XX (TS-SER1 ?!?)
From: "burnster" <>
Date: Mon, 24 Jan 2011 17:41:20 -0000
Sorry to be such a hacker folks, but it looks as though I have missed something 
very important.  The 2.6.29-ts distribution only has "ts7400_defconfig" whereas 
Matthieu Crapet's build has a number of other options that might make all of 
this work.  Apologies for my ignorance, I somehow came to the conclusion that 
they are one in the same thing.

Apparently they are not, and I am a confused newbie.
So following the reasoning that the supported driver from TS on LINUX ARM for 
the TS-SER1 card appears to be "8250_ts_ser1" for ARM Linux, it might be the 
place to start figuring out how to finish this project.  Is that correct?  Does 
anyone believe that modprobe-ing the right combination of supplied TS serial 
modules will result in the kernel allowing us to read/write the parallel port 
addresses on the TS-SER2?

8250_ts_ser1 fails initialization, and I can tell yet whether it fails 
insertion because I have jumper disabled the serial ports on TS-SER2, or 
because it only works with TS-SER1.  I am about to disassemble everything and 
check it out.  Am I barking up the wrong tree?

Again our config is listed in detail here: 

http://www.quakefinder.com/smf/index.php/topic,103.msg518.html#msg518

We are considering three options to pursue this week:  

1) Set up a second system and build Crapet's kernel, etc.
2) Continue looking for our connector-injected signals in /dev/mem (doesn't 
work)
3) Determine the differences applied in the serial modules and transfer these 
lessons to a patched parport_pc driver.

Any insights will be greatly appreciated.  Thank a lot!  Our schedule is 
simple:  a few more days, and then we must take it up with TS directly.

--- In  "burnster" <> wrote:
>
> Made some more progress on this.  Having instrumented parport_pc.c in detail, 
> now I see much more:
> 
> First, we have jumpered our TS-SER2 for 0x378 and IRQ 7, and entered various 
> options attempting to get things working into /etc/modprobe.d/parport.conf.  
> And again we have stock 2.6.29-ts with gnueabi-gcc-3.4.4, with the only mod 
> to the stock build being addition of the parallel support:
> 
> CONFIG_PARPORT=m
> CONFIG_PARPORT_PC=m
> # CONFIG_PARPORT_PC_FIFO is not set
> # CONFIG_PARPORT_PC_SUPERIO is not set
> # CONFIG_PARPORT_GSC is not set
> CONFIG_PARPORT_AX88796=m
> CONFIG_PARPORT_1284=y
> CONFIG_PARPORT_NOT_PC=y
> # CONFIG_I2C_PARPORT is not set
> # CONFIG_I2C_PARPORT_LIGHT is not set
> 
> 
> Lessons learned and questions.
> 
> 
> 1. Do not enable the superio option: CONFIG_PARPORT_PC_SUPERIO!  This is 
> experimental code and it segfaults superio os irrelevant for TS boards anyway.
> 
> 
> 2.  There is no evidence of parport_pc ever having been ported to ARM.  For 
> example, it has hexadecimally hard coded Intel port addresses such as this 
> very important statement found at line 2235:
> 
>       if (base != 0x3bc) {
> 
> According to everything I have read from TS and this group, we must use the 
> address 0x11e03bc, etc. as the port address
> 
> 
> 3. The driver gives a segmentation fault when executing this emulated 
> statement at line 1694 of parport_pc.c:
> 
>       outb (r, CONTROL (pb));
> 
> which nets us:
> 
> Jan 21 19:34:38 cmn899 kernel: Unable to handle kernel paging request at 
> virtual address 11e0037a
> 
> This line shows that our port address assignment, which we did via 
> /etc/modprobe.d/parport.conf succeeded.  But the kernel is not happy with our 
> attempt to access this address.  The rest of the kernel complaints are below.
> 
> What do I need to do to get the kernel to allow me to access those addresses? 
>  Am I on the right track?  Thanks a lot!  The folks at TS told my buyer that 
> it "should" work on ARM.  I am dubious now, but no matter, we must push 
> forward anyway.  Thanks again!
> 
> - Clark
> 
> 
> Jan 21 19:34:38 cmn899 kernel: Unable to handle kernel paging request at 
> virtual address 11e0037a
> Jan 21 19:34:38 cmn899 kernel: pgd = cc1ac000
> Jan 21 19:34:38 cmn899 kernel: [11e0037a] *pgd=00000000
> Jan 21 19:34:38 cmn899 kernel: Internal error: Oops: 805 [#1] PREEMPT
> Jan 21 19:34:38 cmn899 kernel: Modules linked in: parport_pc(+) parport 
> usbhid hid zd1201 firmware_class ext3 jbd vfat fat usb_storage sd_mod 
> scsi_mod evdev input_core ohci_hcd rtc_ep93xx usbcore 8250 tssdcard
> Jan 21 19:34:38 cmn899 kernel: CPU: 0    Not tainted  (2.6.29-ts #12)
> Jan 21 19:34:38 cmn899 kernel: PC is at parport_pc_probe_port+0x1d8/0x9ac 
> [parport_pc]
> Jan 21 19:34:38 cmn899 kernel: LR is at vprintk+0x30c/0x378
> Jan 21 19:34:38 cmn899 kernel: pc : [<bf126f6c>]    lr : [<c0045d08>]    psr: 
> 60000013
> Jan 21 19:34:38 cmn899 kernel: sp : cc64fc88  ip : cc64fbf8  fp : cc64fcdc
> Jan 21 19:34:38 cmn899 kernel: r10: 11e00378  r9 : 0000000c  r8 : 00000000
> Jan 21 19:34:38 cmn899 kernel: r7 : cc6fb5a8  r6 : cd4e8728  r5 : cc6fb5a8  
> r4 : c03086c8
> Jan 21 19:34:38 cmn899 kernel: r3 : 11e00378  r2 : cc64e000  r1 : c02da420  
> r0 : 00000020
> Jan 21 19:34:38 cmn899 kernel: Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  
> ISA ARM  Segment user
> Jan 21 19:34:38 cmn899 kernel: Control: c000717f  Table: e41ac000  DAC: 
> 00000015
> Jan 21 19:34:38 cmn899 kernel: Process modprobe (pid: 899, stack limit = 
> 0xcc64e268)
> Jan 21 19:34:38 cmn899 kernel: Stack: (0xcc64fc88 to 0xcc650000)
> Jan 21 19:34:38 cmn899 kernel: fc80:                   00000000 00000000 
> cc64e000 cc6fb5c8 cc0dde40 cc5f88e0 
> Jan 21 19:34:38 cmn899 kernel: fca0: 00000000 cc1c58a0 ffffffff 11e00778 
> cc64fccc 00000001 bf12c404 bf12c404 
> Jan 21 19:34:38 cmn899 kernel: fcc0: 11e00378 bf12c134 cc64e000 00000000 
> cc64fd0c cc64fce0 bf12c2ec bf126da4 
> Jan 21 19:34:38 cmn899 kernel: fce0: 00000000 d84156c5 cc64fd34 00000007 
> 00004a1f bf12955c 00000000 cc64e000 
> Jan 21 19:34:38 cmn899 kernel: fd00: cc64ff7c cc64fd10 c0025308 bf12c144 
> 00000000 00000780 0000000f 00000000 
> Jan 21 19:34:38 cmn899 kernel: fd20: cc64fd6c cc64fd30 c0093940 c0093208 
> cc64fd6c cc64fd40 c0093434 c0092e88 
> Jan 21 19:34:38 cmn899 kernel: fd40: cc64fd6c cd409524 cd4071e0 cd408900 
> cd409500 cd4071e0 c03283e0 00000010 
> Jan 21 19:34:38 cmn899 kernel: fd60: cc64fd84 cc64fda0 ffffffff 00000001 
> c0093434 cd4048e0 00000001 c0308ae4 
> Jan 21 19:34:38 cmn899 kernel: fd80: c0475524 c00ddd04 c031e228 c03092e0 
> cc64fdbc cc64fda0 c0268ab0 c0062630 
> Jan 21 19:34:38 cmn899 kernel: fda0: 00000000 cd5afe30 cc64fe28 cd5b8fc8 
> cc64fdcc cc64fdc0 c0268b24 c0268a08 
> Jan 21 19:34:38 cmn899 kernel: fdc0: cc64fe24 cc64fdd0 c00dde74 c0268b24 
> c00de0d0 c015fd68 cc64fe04 cc64fde8 
> Jan 21 19:34:38 cmn899 kernel: fde0: c0093220 c0093238 00000000 000004b0 
> 00000032 d84156c5 cc64fe44 cc64fe08 
> Jan 21 19:34:38 cmn899 kernel: fe00: c0093940 c0093208 00000001 c041df60 
> c031c484 c008dd68 cc64fe4c cd4001c0 
> Jan 21 19:34:38 cmn899 kernel: fe20: cd405df0 cd557c20 a0000013 c008dd68 
> ce1f4000 00000000 cc64fe6c cc64fe48 
> Jan 21 19:34:38 cmn899 kernel: fe40: c00945c4 c00936b4 c00749e0 00000005 
> cd557c20 00000000 00000001 ce1f68e4 
> Jan 21 19:34:38 cmn899 kernel: fe60: cc64fe8c cc64fe70 c008dd68 c0094518 
> 0000001c cd5b8d88 bf12955c 0000001c 
> Jan 21 19:34:38 cmn899 kernel: fe80: cc64fe9c cc64fe90 c008ddbc c008dca4 
> cc64ff7c cc64fea0 c00683d4 c008dd94 
> Jan 21 19:34:38 cmn899 kernel: fea0: 00000000 cc64ff08 08100077 00000438 
> cc66b2d0 c026c424 c026c424 0000001c 
> Jan 21 19:34:38 cmn899 kernel: fec0: 00000ba0 00000bb8 c004ad6c bf128b28 
> 00000000 000000bb 000000bb 0000006c 
> Jan 21 19:34:38 cmn899 kernel: fee0: 00000068 00000050 cc64e000 0000000a 
> 00000014 0000001b 0000001a ce1f805c 
> Jan 21 19:34:38 cmn899 kernel: ff00: cd557248 ce1f67f0 00000000 00000000 
> 60000013 00000004 00000000 00000000 
> Jan 21 19:34:38 cmn899 kernel: ff20: 00000268 00000040 00000000 00000000 
> 00000000 00000000 c031e228 c03059a4 
> Jan 21 19:34:38 cmn899 kernel: ff40: cc64ff6c 00004a1f bf12955c 00000000 
> 00000000 00004a1f bf12955c 00000000 
> Jan 21 19:34:38 cmn899 kernel: ff60: 00000000 c0026088 cc64e000 00000000 
> cc64ffa4 cc64ff80 c0068514 c00252b0 
> Jan 21 19:34:38 cmn899 kernel: ff80: 00000000 00008edc 00009064 00000000 
> 00008edc 00000080 00000000 cc64ffa8 
> Jan 21 19:34:38 cmn899 kernel: ffa0: c0025ee0 c006847c 00009064 00000000 
> 4014d000 00004a1f 0001d570 00004a1f 
> Jan 21 19:34:38 cmn899 kernel: ffc0: 00009064 00000000 00008edc 00000080 
> 00000000 00000000 40025000 bef39984 
> Jan 21 19:34:38 cmn899 kernel: ffe0: 00000000 bef398fc 0000b6b0 400e8f34 
> 60000010 4014d000 00000000 00000000 
> Jan 21 19:34:38 cmn899 kernel: Backtrace: 
> Jan 21 19:34:38 cmn899 kernel: [<bf126d94>] (parport_pc_probe_port+0x0/0x9ac 
> [parport_pc]) from [<bf12c2ec>] (parport_pc_init+0x1b8/0x28c [parport_pc])
> Jan 21 19:34:38 cmn899 kernel: [<bf12c134>] (parport_pc_init+0x0/0x28c 
> [parport_pc]) from [<c0025308>] (do_one_initcall+0x68/0x1b0)
> Jan 21 19:34:38 cmn899 kernel: r7:cc64e000 r6:00000000 r5:bf12955c r4:00004a1f
> Jan 21 19:34:38 cmn899 kernel: [<c00252a0>] (do_one_initcall+0x0/0x1b0) from 
> [<c0068514>] (sys_init_module+0xa8/0x1ac)
> Jan 21 19:34:38 cmn899 kernel: [<c006846c>] (sys_init_module+0x0/0x1ac) from 
> [<c0025ee0>] (ret_fast_syscall+0x0/0x2c)
> Jan 21 19:34:38 cmn899 kernel: r7:00000080 r6:00008edc r5:00000000 r4:00009064
> Jan 21 19:34:38 cmn899 kernel: Code: e1a01006 e59650f4 eb3c7b82 e5963000 
> (e5c39002) 
> Jan 21 19:34:38 cmn899 kernel: ---[ end trace 5421d086b0d5a7f3 ]---
>




------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ts-7000/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/ts-7000/join
    (Yahoo! ID required)

<*> To change settings via email:
     
    

<*> To unsubscribe from this group, send an email to:
    

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU