[prev in list] [next in list] [prev in thread] [next in thread] 

List:       uclinux-dev
Subject:    Re: [uClinux-dev] IRDA new bie
From:       Phil Wilshire <philwil () earthlink ! net>
Date:       2002-11-29 16:01:11
[Download RAW message or body]

Hi Karl,
I can give you a clue here and it may be wrong !!!
I do not have my notes / dev system with me so this is all from memory.

I think that you are getting input interrupts before the IRLan protocol
is set up.
The system is then taking all the time to respond to the so called
framing error while performing a media busy check.

To get around this I modified the system to not call the busy check if
the IRLan was not set up.

There is an assert in the media busy on some structure set up by the
irLan code.
This assert fails causing the error

Just check for the assert before you call the busy code.
The system does not then spend a lot of time handling the error and
allows the irlan code to execute
and set itself up.

If this does not get you going I'll look up my notes and be more
specific after the weekend.

regards
  Phil Wilshire


"Karl(Kai) Ji" wrote:
> 
> Dear all,
> 
> I searched your maillist, it seems someone has irda works on m68k. Could you
> please help me on this?  I am just wasting time and still do not know where
> I am going and what I should do.
> 
> My system is using DragonBall VZ328ADS as hardware platfrom.  I am using
> uClinux-dist03xx as development start base.  Now I am working on irda part.
> 
> I put Daniel Potts's irda patch to my system. (Thanks Daniel).  Trying to
> use UART2 's irda function as irda's physical layer.  So I choosed
> IRTTY+IRCOMM as irda protocol stack. Am I right at this point?  Then use
> 'Irattach /dev/ttyS1 -s' to try to discovery other standard IRDA device
> (like a sigmatel IRDA-USB dongle on win2k).  Unfortunately,  it just does
> not work on my system.   It can receive something. But those data package
> are nonsense because they always contains with 0x00,0x00,0x02,0x02... But
> that probably tells me the receive interrupt works though data is incorrect.
> On the other hand, I think it should try to do some discovery task. So it
> will at least need to send some out.   I never see this kind of sigal.
> Could this be something wrong in the connection between IRDA stack with
> serial driver?  Where should I focus on?
> 
> Thanks,
> Karl
> 
> Here is a log file:
> 
> 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 512 bind 512)
> NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
> irda_init()
> irlmp_init()
> irlmp_register_service(), hints = 0400
> hashbin_find()
> hashbin_insert()
> enqueue_first()
> irias_new_object()
> hashbin_insert()
> enqueue_first()
> hashbin_insert()
> enqueue_first()
> hashbin_insert()
> enqueue_first()
> iriap_open()
> hashbin_insert()
> enqueue_first()
> iriap_register_lsap()
> irlmp_slsap_inuse()
> hashbin_insert()
> enqueue_first()
> irlan_init()
> irlan_init()
> irlmp_register_client()
> hashbin_find()
> hashbin_insert()
> enqueue_first()
> irlmp_register_service(), hints = 4000
> hashbin_find()
> hashbin_insert()
> enqueue_first()
> irlan_open()
> hashbin_insert()
> enqueue_first()
> irlan_next_client_state(), IRLAN_IDLE
> irlan_next_provider_state(), IRLAN_IDLE
> irlan_register_netdev()
> irlan_eth_init()
> irlan_provider_open_ctrl_tsap()
> irlmp_slsap_inuse()
> irlmp_find_free_slsap(), next free lsap_sel=10
> hashbin_insert()
> enqueue_first()
> irttp_open_tsap(), stsap_sel=10
> hashbin_insert()
> enqueue_first()
> hashbin_find()
> irias_new_object()
> hashbin_insert()
> enqueue_first()
> hashbin_insert()
> enqueue_first()
> hashbin_find()
> irias_new_object()
> hashbin_insert()
> enqueue_first()
> hashbin_insert()
> enqueue_first()
> hashbin_insert()
> enqueue_first()
> hashbin_insert()
> enqueue_first()
> hashbin_insert()
> enqueue_first()
> hashbin_insert()
> enqueue_first()
> irlmp_discovery_confirm()
> irlmp_do_discovery()
> IrCOMM protocol (Dag Brattli)
> blkmem:minor number is 0
> JFFS: Trying to mount a non-mtd device.
> VFS: Mounted root (romfs filesystem) readonly.
> Freeing unused kernel memory: 0k freed (0x129000 - 0x128000)
> # cd /
> # cd bin
> # irattach /dev/ttyS1 -s
> (tty_io.c):(tty_set_ldisc):(306):set up the new line disc
> hashbin_insert()
> enqueue_first()
> IrDA: Registered device irda0
> (tty_io.c):(tty_set_ldisc):(313):in new line disc open tty
> ttyS1 console mode off
> (tty_io.c):(tty_set_ldisc):(333):in new line disc set tty
> irda_create()
> irda_create() : self is 001ef760
> irlmp_register_client()
> hashbin_find()
> hashbin_insert()
> enqueue_first()
> irda_ioctl(), cmd=0x8913
> irda_ioctl(), doing device ioctl!
> irda_ioctl(), cmd=0x8914
> irda_ioctl(), doing device ioctl!
> irtty_net_open()
> irlap_open()
> next LAP state = LAP_OFFLINE
> irlap_apply_default_connection_parameters()
> irlap_change_speed(), setting speed to 9600
> irda_device_set_media_busy(TRUE)
> Media busy!
> next LAP state = LAP_NDM
> hashbin_insert()
> enqueue_first()
> hashbin_insert()
> enqueue_first()
> irda_device_event(), NETDEV_UP
> irda_device_set_media_busy(FALSE)
> irlap_do_event(), event = MEDIA_BUSY_TIMER_EXPIRED, state = LAP_NDM
> Framing or parity error!
> irda_device_set_media_busy(TRUE)
> Media busy!
> Framing or parity error!
> irda_device_set_media_busy(TRUE)
> Media busy!
> Framing or parity error!
> irda_device_set_media_busy(TRUE)
> Media busy!
> Framing or parity error!
> irda_device_set_media_busy(TRUE)
> Media busy!
> Framing or parity error!
> irda_device_set_media_busy(TRUE)
> Media busy!
> Framing or parity error!
> irda_device_set_media_busy(TRUE)
> Media busy!
> Framing or parity error!
> irda_device_set_media_busy(TRUE)
> Media busy!
> Framing or parity error!
> irda_device_set_media_busy(TRUE)
> Media busy!
> Framing or parity error!
> irda_device_set_media_busy(TRUE)
> Media busy!
> Framing or parity error!
> irda_device_set_media_busy(TRUE)
> Media busy!
> Framing or parity error!
> irda_device_set_media_busy(TRUE)
> Media busy!
> Framing or parity error!
> irda_device_set_media_busy(TRUE)
> Media busy!
> Framing or parity error!
> irda_device_set_media_busy(TRUE)
> Media busy!
> irda_device_set_media_busy(TRUE)
> Media busy!
> Framing or parity error!
> irda_device_set_media_busy(TRUE)
> Media busy!
> irda_device_set_media_busy(TRUE)
> Media busy!
> Framing or parity error!
> irda_device_set_media_busy(TRUE)
> Media busy!
> Framing or parity error!
> irda_device_set_media_busy(TRUE)
> Media busy!
> Framing or parity error!
> irda_device_set_media_busy(TRUE)
> Media busy!
> Framing or parity error!
> irda_device_set_media_busy(TRUE)
> Media busy!
> Framing or parity error!
> irda_device_set_media_busy(TRUE)
> Media busy!
> Framing or parity error!
> irda_device_set_media_busy(TRUE)
> Media busy!
> irda_device_set_media_busy(TRUE)
> Media busy!
> Framing or parity error!
> irda_device_set_media_busy(TRUE)
> Media busy!
> Framing or parity error!
> irda_device_set_media_busy(TRUE)
> Media busy!
> Framing or parity error!
> irda_device_set_media_busy(TRUE)
> _______________________________________________
> uClinux-dev mailing list
> uClinux-dev@uclinux.org
> http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
> This message was resent by uclinux-dev@uclinux.org

-- 
SDCS -- System Design & Consulting Services LLC, http://www.sysdcs.com
** Embedded Linux Training **  email me for details  
630 Springhouse Sq., Leesburg VA 20175 t: 703 669 9766 f: 703 669 9768
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic