Sorry, been a bit late here but here's the output:

lapper:/home/alexh# ./smc-ircc-dump 
firport 0x100, sirport 0x3e8, irq 3, dma 2
mode 0x00
options 0x4e
duplex 0x03
a 0x00
b 0x00
lapper:/home/alexh# ./smc-ircc-set-dma 2
Setting DMA to 2

ttfn,
A

Graeme Pyle <[EMAIL PROTECTED]> writes:

> Hi Alex,
> 
> I've been reading the SMC spec that the Linux-IrDA home page links to,
> and I've written something that dumps the controller config to screen.
> Could you please run it and send me your output? (smc-ircc-dump.cc)
> 
> I also made something that sets the DMA of the IR controller. I hope
> that helps you with your floppy problem (smc-ircc-setdma.cc)
> 
> Both should compile with "g++ -o filename filename.cc"
> 
> Thanks,
> 
> Graeme
> 
> 
> 
> On Sun, 2002-03-17 at 15:04, Alexander Hoogerhuis wrote:
> > mail me the output of these commands BEFORE you load anything related
> > to IR:
> > 
> > lsmod
> > cat /proc/dma
> > cat /proc/interupts
> > uname -a
> > 
> > And I'll see if I can spot something that is not right.
> > 
> > Oh, and attach .config from the top-level directory in the kernel
> > souce.
> > 
> > ttfn,
> > A
> > 
> > Graeme Pyle <[EMAIL PROTECTED]> writes:
> > 
> > > Hi Alex,
> > > 
> > > Thanks very much for all your help - I really appreciate it.
> > > 
> > > I'm still having no luck with 2.8.19-pre3-ac1 though - my whole machine
> > > freezes (keyboard lights start flashing too) as soon as I do a "echo 1 >
> > > /proc/sys/net/irda/discovery" or a pppd. I can "ifconfig irda0 up"
> > > though.
> > > 
> > > What I find strange is this:
> > > 
> > > kernel: found SMC SuperIO Chip (devid=0x0a rev=00 base=0x00e0):FDC37N971
> > > kernel: SMC IrDA Controller found
> > > kernel:  IrCC version 2.0, firport 0xe38, sirport 0x300 dma=2, irq=3
> > > 
> > > Where does 0xe38 come from? What does your look like? Windows detects
> > > 
> > > IO=0x3e8
> > > IO=0x130
> > > IRQ=7
> > > DMA=5
> > > 
> > > If I try to override defaults, I just get "no such device". 
> > > 
> > > Anyhow, can you please send me a copy of your kernel config
> > > 
> > > Thanks so much for your help :-)
> > > 
> > > Graeme
> > > 
> > > 
> > > 
> > > 
> > > On Sun, 2002-03-17 at 01:44, Alexander Hoogerhuis wrote:
> > > > 2.4.18, 2.4.19-preX are mainline releases, they are the official 2.4
> > > > string of releases, ac-releases are the patches by ALan Cox, which are
> > > > usually higly recommended anyway. Preempt it a patch by Robert
> > > > M. Love, look in
> > > > ftp://ftp.kernel.org/pub/linux/kernel/people/rml/preempt-kernel/v2.4
> > > > or thereabouts. Highly recommended too :)
> > > > 
> > > > I have it working on anything after 2.4.18, with or without ac-patches
> > > > or preempt.
> > > > 
> > > > ttfn,
> > > > A
> > > > 
> > > > Graeme Pyle <[EMAIL PROTECTED]> writes:
> > > > 
> > > > > Hi Alex,
> > > > > 
> > > > > Great - I'm glad to hear you got it working!!!
> > > > > 
> > > > > Excuse my ignorance, but what are "mainline releases and AC"? Or rather,
> > > > > which kernel version do you use and where can I get it?
> > > > > 
> > > > > I see at www.kernel.org that the latest stable release is 2.4.18? Are
> > > > > you running a 2.5 kernel? Should I try 2.4.19-pre3, or perhaps
> > > > > 2.4.19-pre3-ac1?
> > > > > 
> > > > > Many thanks,
> > > > > 
> > > > > Graeme
> > > > > 
> > > > > 
> > > > > 
> > > > > On Sat, 2002-03-16 at 22:12, Alexander Hoogerhuis wrote:
> > > > > > All the kernels I run on now are post 2.4.18, both the mainline
> > > > > > releases and AC, with and without preempt, and freeswan, and it all
> > > > > > seems to work good as long as you dont use the floppy driver (both SMC
> > > > > > driver and floppy wants dma2).
> > > > > > 
> > > > > > Here's what is related to IrDA in my modules.conf:
> > > > > > 
> > > > > > alias tty-ldisc-11 irtty
> > > > > > alias char-major-10-187 irnet
> > > > > > alias char-major-60 ircomm_tty
> > > > > > alias char-major-161 ircomm-tty
> > > > > > alias irda0 smc-ircc
> > > > > > alias irlan0 irlan
> > > > > > post-install ircomm /bin/echo `hostname` > /proc/sys/net/irda/devname
> > > > > > 
> > > > > > Then you can e.g. run this from /etc/rc.local:
> > > > > > 
> > > > > > ifconfig irda0 up
> > > > > > echo 1 > /proc/sys/net/irda/discovery
> > > > > > echo 115200 > /proc/sys/net/irda/max_baud_rate
> > > > > > pppd /dev/ircomm0 115200 192.168.2.1:192.168.2.2 passive silent noauth 
>local ms-dns 192.168.2.1 persist
> > > > > > 
> > > > > > and this in /etc/rc.serial:
> > > > > > setserial /dev/ttyS2 uart none
> > > > > > 
> > > > > > Now a Palm will be able to connect using PPP without pain. Almost,
> > > > > > seems sometimes it hangs with the "establishing" dialogue on the
> > > > > > Palm. and I still have my /var/log/messages clogged with these:
> > > > > > 
> > > > > > NETDEV WATCHDOG: irda0: transmit timed out
> > > > > > irda0: transmit timed out
> > > > > > NETDEV WATCHDOG: irda0: transmit timed out
> > > > > > irda0: transmit timed out
> > > > > > 
> > > > > > But I still get ~4kbit transfers using HSCD on my Ericsson T39m, but
> > > > > > then I only speak IrDA (no PPP) between the machine and the
> > > > > > phone.
> > > > > > 
> > > > > > My .config from the kernel sources contain these bits:
> > > > > > 
> > > > > > CONFIG_IRDA=m
> > > > > > CONFIG_IRLAN=m
> > > > > > CONFIG_IRNET=m
> > > > > > CONFIG_IRCOMM=m
> > > > > > CONFIG_IRDA_ULTRA=y
> > > > > > CONFIG_IRDA_CACHE_LAST_LSAP=y
> > > > > > CONFIG_IRDA_FAST_RR=y
> > > > > > # CONFIG_IRDA_DEBUG is not set
> > > > > > CONFIG_IRTTY_SIR=m
> > > > > > CONFIG_IRPORT_SIR=m
> > > > > > 
> > > > > > So there you go, you have it all :)
> > > > > > 
> > > > > > ttfn,
> > > > > > A
> > > > > > 
> > > > > > Graeme Pyle <[EMAIL PROTECTED]> writes:
> > > > > > 
> > > > > > > Hi Alex,
> > > > > > > 
> > > > > > > I've been reading some of your posts from February in the Linux IrDA
> > > > > > > mailing list. I'm also struggling with IR on an Armada M700 running
> > > > > > > RedHat 7.2
> > > > > > > 
> > > > > > > Did you'd eventually manage to get the IR port working? If so, how?
> > > > > > > 
> > > > > > > Thanks,
> > > > > > > 
> > > > > > > Graeme
> > > > > > > 
> > > > > > > 
> > > > > > 
> > > > > > -- 
> > > > > > Alexander Hoogerhuis                               | [EMAIL PROTECTED]
> > > > > > CCNP - CCDP - MCNE - CCSE                          | +47 908 21 485
> > > > > > "You have zero privacy anyway. Get over it."  --Scott McNealy
> > > > > 
> > > > 
> > > > -- 
> > > > Alexander Hoogerhuis                               | [EMAIL PROTECTED]
> > > > CCNP - CCDP - MCNE - CCSE                          | +47 908 21 485
> > > > "You have zero privacy anyway. Get over it."  --Scott McNealy
> > > 
> > 
> > -- 
> > Alexander Hoogerhuis                               | [EMAIL PROTECTED]
> > CCNP - CCDP - MCNE - CCSE                          | +47 908 21 485
> > "You have zero privacy anyway. Get over it."  --Scott McNealy
> 
> 
> #include <stdio.h>
> #include <sys/io.h>
> 
> main() {
> 
>   unsigned short cfg_base=0xe0;
> 
>   unsigned short fir_io;
>   unsigned short sir_io;
>   unsigned short irq;
>   unsigned short dma;
> 
>   unsigned short fir_msb;
>   unsigned short fir_lsb;
> 
>   unsigned short sir_msb;
>   unsigned short sir_lsb;
> 
>   unsigned short mode;
>   unsigned short options;
>   unsigned short duplex;
>   unsigned short a;
>   unsigned short b;
> 
> 
> 
>   // Need permission to go poking around
>   ioperm(cfg_base,8,1);
> 
>   
>   /* Enter configuration */
>   outb(0x55, cfg_base);
> 
> 
>   /* Select logical device (UART2) */
>   outb(0x07, cfg_base);
>   outb(0x05, cfg_base + 1);
>               
>   /* Read SIR io */
>   outb(0x60, cfg_base);
>   sir_io  = inb(cfg_base + 1) << 8;
>   outb(0x61, cfg_base);
>   sir_io |= inb(cfg_base + 1);
>               
>   /* Read FIR io */
>   outb(0x62, cfg_base);
>   fir_msb = inb(cfg_base + 1);
>   fir_io =  fir_msb << 8;
> 
>   outb(0x63, cfg_base);
>   fir_lsb = inb(cfg_base + 1);
>   fir_io |= fir_lsb;
> 
>   // IRQ
>   outb(0x70, cfg_base);
>   irq = inb(cfg_base + 1);
>   
>   // DMA
>   outb(0x74, cfg_base);
>   dma = inb(cfg_base + 1);
> 
>   // mode
>   outb(0xF0, cfg_base);
>   mode = inb(cfg_base + 1);
> 
>   // options
>   outb(0xF1, cfg_base);
>   options = inb(cfg_base + 1);
> 
>   // duplex
>   outb(0xF2, cfg_base);
>   duplex = inb(cfg_base + 1);
> 
>   // a
>   outb(0xF7, cfg_base);
>   a = inb(cfg_base + 1);
> 
>   // b
>   outb(0xF8, cfg_base);
>   b = inb(cfg_base + 1);
> 
> 
>   /* Exit configuration */
>   outb(0xaa, cfg_base);
> 
> 
> 
>   printf("firport 0x%03x, sirport 0x%03x, irq %d, dma %d\n",fir_io,sir_io,irq,dma);
> 
>   printf("mode 0x%02x\n",mode);
>   printf("options 0x%02x\n",options);
>   printf("duplex 0x%02x\n",duplex);
>   printf("a 0x%02x\n",a);
>   printf("b 0x%02x\n",b);
> 
> 
> 
> }
> 

-- 
Alexander Hoogerhuis                               | [EMAIL PROTECTED]
CCNP - CCDP - MCNE - CCSE                          | +47 908 21 485
"You have zero privacy anyway. Get over it."  --Scott McNealy
_______________________________________________
Linux-IrDA mailing list  -  [EMAIL PROTECTED]
http://www.pasta.cs.UiT.No/mailman/listinfo/linux-irda

Reply via email to