Re: Motorola motmdm support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon 2018-12-31 14:23:29, Tony Lindgren wrote:
> * Pavel Machek <pavel@xxxxxx> [181231 21:54]:
> > Is it possible that epoll() does not work properly with /dev/motmdm*?
> > I am debugging weird problems with ofonod, and that would be an
> > explanation...
> > 
> > epoll.poll() should be returning list of file descriptors and if they
> > are ready. And it seems to work for ttyUSB4 but not for motmdm.
> > 
> > Hmm. And motmdm_cdev_poll() lacks EPOLLOUT() support, right? That
> > could explain things...
> 
> Hmm yeah maybe.
> 
> FYI, I just pushed a test script into github droid4-sms-tools repo
> for sending SMS and a related kernel fix for ctrl-z termination
> into k.o droid4-pending-mdm-v4.20 branch.
> 
> But that seems to fix a different issue from what you're seeing.

Yes, I can easily work around the problem like this:

It needs huge fixme there, but if you could include it... "always
ready" is better than "never ready".

I'm currently adding code to ofono... I can decode incoming
SMS. Current is here. https://github.com/pavelmachek/ofono

Have you figured out how the incoming calls are supposed to work? I'm
getting this on incoming call:

ofonod[2534]: Voice: < ~+WAKEUP\n\r
ignoring line
ofonod[2534]: Voice: < ~+WAKEUP\n\r
ignoring line
ofonod[2534]: Voice: < ~+WAKEUP\n\r
ignoring line
ofonod[2534]: Voice: < ~+CIEV=1,4,0\n\r
ignoring line
ofonod[2534]: Voice: < ~+CLIP="+420xxxxxxxxx",1,1,"",0,"",0\n\r
ignoring line
ofonod[2534]: Voice: < ~+WAKEUP\n\r
ignoring line
ofonod[2534]: Voice: < ~+WAKEUP\n\r
ignoring line
ofonod[2534]: Voice: < ~+WAKEUP\n\r
ignoring line
ofonod[2534]: Voice: < ~+CIEV=1,0,0\n\r
ignoring line

ofonod[2534]: Voice: < ~+WAKEUP\n\r
ignoring line
ofonod[2534]: Voice: < ~+WAKEUP\n\r
ignoring line
ofonod[2534]: Voice: < ~+WAKEUP\n\r

I probably could use +CLIP as "there's incoming call", but I don't see
anything useful when I hang up and phone should stop ringing. 

Best regards,
								Pavel


diff --git a/drivers/mfd/motorola-mdm.c b/drivers/mfd/motorola-mdm.c
index 2cdc9e8..abf58e3 100644
--- a/drivers/mfd/motorola-mdm.c
+++ b/drivers/mfd/motorola-mdm.c
@@ -706,6 +706,7 @@ static __poll_t motmdm_cdev_poll(struct file *file, poll_table *wait)
 		mask |= EPOLLIN | EPOLLRDNORM;
 	if (cdata->disconnected)
 		mask |= EPOLLHUP;
+	mask |= (EPOLLOUT | EPOLLWRNORM);
 
 	return mask;
 }

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux