Skip to contentSkip to conversation

Latest 2.6.16-mh1 patch.

DISCUSSION Philip Langdale 4 participants 21 messages Jun 7, 2006 – Jun 26, 2006

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Hi Marcel,

I just tried out the 2.6.16-mh1 patch and I'm seeing very laggy behaviour with my mx5000 mouse. With the 2.6.15-mh2 modified to remove the changes already in 2.6.16, I do not see this behaviour.

The interdiff is not huge but it's large enough that I can't see the culprit at a glance.

--phil

maintainer
#1 lore raw

Hi Philip,

Quoted 6 lines

I just tried out the 2.6.16-mh1 patch and I'm seeing very laggy behaviour with my mx5000 mouse. With the 2.6.15-mh2 modified to remove the changes already in 2.6.16, I do not see this behaviour.

The interdiff is not huge but it's large enough that I can't see the culprit at a glance.

so it seems that I messed up when porting the HID report mode. Please send me your modified 2.6.15-mh2 patch and I am going to take a look at it.

Regards

Marcel

_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

#2 lore raw
Quoted 4 lines · Marcel Holtmann

so it seems that I messed up when porting the HID report mode. Please send me your modified 2.6.15-mh2 patch and I am going to take a look at it.

I have attached the patch. Based on the interdiff, I don't think there are any changes in the HID report mode part but I could be wrong.

--phil

maintainer
#3 lore raw

Hi Philip,

Quoted 6 lines
Quoted 3 lines

so it seems that I messed up when porting the HID report mode. Please send me your modified 2.6.15-mh2 patch and I am going to take a look at it.

I have attached the patch. Based on the interdiff, I don't think there are any changes in the HID report mode part but I could be wrong.

I will look at it, but you might wanna try to disable the automatic sniff mode and see if this helps at all. Simply call:

echo 0 > /sys/class/bluetooth/hci0/idle_timeout

Regards

Marcel

_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

#4 lore raw
Quoted 5 lines · Marcel Holtmann

I will look at it, but you might wanna try to disable the automatic sniff mode and see if this helps at all. Simply call:

echo 0 > /sys/class/bluetooth/hci0/idle_timeout

I just tried this, and unfortunately it doesn't help.

Thanks,

--phil

maintainer
#5 lore raw

Hi Philip,

Quoted 6 lines
Quoted 4 lines

I will look at it, but you might wanna try to disable the automatic sniff mode and see if this helps at all. Simply call:

echo 0 > /sys/class/bluetooth/hci0/idle_timeout

I just tried this, and unfortunately it doesn't help.

I actually don't saw any other change that justified this behavior. So you have your patch working with 2.6.16, but mine is not. That is really strange.

Run "hcidump -X -V" and let me check if it contains something unusual.

Regards

Marcel

_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

maintainer
#6 lore raw
In reply to Philip Langdale

Hi Philip,

Quoted 6 lines
Quoted 4 lines

I will look at it, but you might wanna try to disable the automatic sniff mode and see if this helps at all. Simply call:

echo 0 > /sys/class/bluetooth/hci0/idle_timeout

I just tried this, and unfortunately it doesn't help.

okay. I released patch-2.6.16-mh2 with doesn't contain the automatic sniff mode feature anymore. Please check if your mouse is now working as expected.

Regards

Marcel

_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

#7 lore raw
Quoted 5 lines · Marcel Holtmann

okay. I released patch-2.6.16-mh2 with doesn't contain the automatic sniff mode feature anymore. Please check if your mouse is now working as expected.

Yep, that did the trick, but I hope you can get the two to play well together.

Thanks,

--phil

maintainer
#8 lore raw

Hi Philip,

Quoted 6 lines
Quoted 3 lines

okay. I released patch-2.6.16-mh2 with doesn't contain the automatic sniff mode feature anymore. Please check if your mouse is now working as expected.

Yep, that did the trick, but I hope you can get the two to play well together.

the attached patch on top of 2.6.16-mh1 should do the trick.

Regards

Marcel

include/net/bluetooth/hci_core.h +1 -0
diff -u b/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
@@ -154,6 +154,7 @@
 	__u16            interval;
 	__u16            link_policy;
 	__u32		 link_mode;
+	__u8             power_save;
 	unsigned long	 pend;
 
 	unsigned int	 sent;
net/bluetooth/hci_conn.c +3 -1
diff -u b/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
@@ -158,6 +158,8 @@
 	conn->mode   = HCI_CM_ACTIVE;
 	conn->state  = BT_OPEN;
 
+	conn->power_save = 1;
+
 	skb_queue_head_init(&conn->data_q);
 
 	init_timer(&conn->disc_timer);
@@ -387,7 +389,7 @@
 	if (test_bit(HCI_RAW, &hdev->flags))
 		return;
 
-	if (conn->mode != HCI_CM_SNIFF)
+	if (conn->mode != HCI_CM_SNIFF || !conn->power_save)
 		goto timer;
 
 	if (!test_and_set_bit(HCI_CONN_MODE_CHANGE_PEND, &conn->pend)) {
net/bluetooth/hci_event.c +6 -1
diff -u b/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
@@ -881,7 +881,12 @@
 		conn->mode = ev->mode;
 		conn->interval = __le16_to_cpu(ev->interval);
 
-		clear_bit(HCI_CONN_MODE_CHANGE_PEND, &conn->pend);
+		if (!test_and_clear_bit(HCI_CONN_MODE_CHANGE_PEND, &conn->pend)) {
+			if (conn->mode == HCI_CM_ACTIVE)
+				conn->power_save = 1;
+			else
+				conn->power_save = 0;
+		}
 	}
 
 	hci_dev_unlock(hdev);

_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

#9 lore raw
Quoted 10 lines · Marcel Holtmann

Hi Philip,

Quoted 5 lines
Quoted 3 lines

okay. I released patch-2.6.16-mh2 with doesn't contain the automatic sniff mode feature anymore. Please check if your mouse is now working as expected.

Yep, that did the trick, but I hope you can get the two to play well together.

the attached patch on top of 2.6.16-mh1 should do the trick.

I tried mh3 (rather than mh1 + the patch - but I assume they're the same). And it's working fine.

Thanks!

--phil

#10 lore raw
In reply to Marcel Holtmann
Quoted 7 lines · Marcel Holtmann

Hi Philip,

Quoted 5 lines
Quoted 3 lines

okay. I released patch-2.6.16-mh2 with doesn't contain the automatic sniff mode feature anymore. Please check if your mouse is now working as expected.

Yep, that did the trick, but I hope you can get the two to play well together.

Marcel,

I've been working with mh3 over the last couple of days and have noticed another regression. The mouse no longer auto-reconnects after being turned off and on or after it auto-disconnects due to a timeout.

This didn't happen with mh2.

--phil

maintainer
#11 lore raw

Hi Philip,

Quoted 6 lines
Quoted 5 lines
Quoted 5 lines
Quoted 3 lines

okay. I released patch-2.6.16-mh2 with doesn't contain the automatic sniff mode feature anymore. Please check if your mouse is now working as expected.

Yep, that did the trick, but I hope you can get the two to play well together.

Quoted 6 lines

I've been working with mh3 over the last couple of days and have noticed another regression. The mouse no longer auto-reconnects after being turned off and on or after it auto-disconnects due to a timeout.

This didn't happen with mh2.

so it is the automatic sniff mode feature mode again. Please get me the hcidump when it times out and when it disconnects due to turned off. It might include something that gives me a clue, because right now, I have no idea why this might happen.

Regards

Marcel

_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

#12 lore raw
Quoted 13 lines · Marcel Holtmann

Hi Philip,

Quoted 11 lines
Quoted 5 lines
Quoted 5 lines
Quoted 3 lines

okay. I released patch-2.6.16-mh2 with doesn't contain the automatic sniff mode feature anymore. Please check if your mouse is now working as expected.

Yep, that did the trick, but I hope you can get the two to play well together.

I've been working with mh3 over the last couple of days and have noticed another regression. The mouse no longer auto-reconnects after being turned off and on or after it auto-disconnects due to a timeout.

Quoted 6 lines
Quoted 1 line

This didn't happen with mh2.

so it is the automatic sniff mode feature mode again. Please get me the hcidump when it times out and when it disconnects due to turned off. It might include something that gives me a clue, because right now, I have no idea why this might happen.

Yeah, I have no clue either. I've just went through the patch again looking for something wrong related to the disconnect timer but everything seemed ok. :-(

-- Ulisses

_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

maintainer
#13 lore raw

Hi Ulisses,

Quoted 13 lines
Quoted 13 lines
Quoted 12 lines
Quoted 5 lines
Quoted 5 lines
Quoted 3 lines

okay. I released patch-2.6.16-mh2 with doesn't contain the automatic sniff mode feature anymore. Please check if your mouse is now working as expected.

Yep, that did the trick, but I hope you can get the two to play well together.

I've been working with mh3 over the last couple of days and have noticed another regression. The mouse no longer auto-reconnects after being turned off and on or after it auto-disconnects due to a timeout.

This didn't happen with mh2.

Quoted 8 lines
Quoted 4 lines

so it is the automatic sniff mode feature mode again. Please get me the hcidump when it times out and when it disconnects due to turned off. It might include something that gives me a clue, because right now, I have no idea why this might happen.

Yeah, I have no clue either. I've just went through the patch again looking for something wrong related to the disconnect timer but everything seemed ok. :-(

I can't think of anything either, but maybe setting idle_timeout to 0 makes it work again.

Regards

Marcel

_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

#14 lore raw
In reply to Marcel Holtmann
Quoted 11 lines · Marcel Holtmann
Quoted 6 lines

I've been working with mh3 over the last couple of days and have noticed another regression. The mouse no longer auto-reconnects after being turned off and on or after it auto-disconnects due to a timeout.

This didn't happen with mh2.

so it is the automatic sniff mode feature mode again. Please get me the hcidump when it times out and when it disconnects due to turned off. It might include something that gives me a clue, because right now, I have no idea why this might happen.

Marcel,

I tried with 17-mh1 and the behaviour is not as bad. I only see one
problem: If I turn off the mouse and then quickly turn it back on, the mouse doesn't work until the old connection times out on the host side. At that point, the mouse can reconnect and life returns to normal.

Reconnecting after a timeout disconnect or after turning off and waiting for the host to clean up is no longer a problem.

In the problem case, hcidump reports no incoming packets between when I turn off and on and when it reports the disconnect. Then I see the reconnect and new packets.

It's obviously not a big problem.

--phil

All the advantages of Linux Managed Hosting--Without the Cost and Risk! Fully trained technicians. The highest number of Red Hat certifications in the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

maintainer
#15 lore raw

Hi Philip,

Quoted 5 lines

I tried with 17-mh1 and the behaviour is not as bad. I only see one
problem: If I turn off the mouse and then quickly turn it back on, the mouse doesn't work until the old connection times out on the host side. At that point, the mouse can reconnect and life returns to normal.

Quoted 8 lines

Reconnecting after a timeout disconnect or after turning off and waiting for the host to clean up is no longer a problem.

In the problem case, hcidump reports no incoming packets between when I turn off and on and when it reports the disconnect. Then I see the reconnect and new packets.

It's obviously not a big problem.

this seems that you have to wait for the link supervision timeout on the host side. Play a little bit with it. If you turn off the Bluetooth chip in the mouse the host simply needs some time to detect this.

What kind of chip is in your mouse? Is it CSR or Broadcom based?

Regards

Marcel

All the advantages of Linux Managed Hosting--Without the Cost and Risk! Fully trained technicians. The highest number of Red Hat certifications in the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

#16 lore raw
Quoted 2 lines · Marcel Holtmann

this seems that you have to wait for the link supervision timeout on the host side. Play a little bit with it. If you turn off the Bluetooth chip

Which reminds me of one thing I read in the specification: the sniff_max_interval must be less than the link supervision timeout parameter. I can't say for sure we are taking care of this. Marcel?

Best,

-- Ulisses

Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

maintainer
#17 lore raw

Hi Ulisses,

Quoted 6 lines
Quoted 2 lines

this seems that you have to wait for the link supervision timeout on the host side. Play a little bit with it. If you turn off the Bluetooth chip

Which reminds me of one thing I read in the specification: the sniff_max_interval must be less than the link supervision timeout parameter. I can't say for sure we are taking care of this. Marcel?

the upcoming Lisbon specification will take care of the missing possibility to see a changed link supervision timeout. However we might need to track the actual link supervision timeout for our connections. Can you try to come up with a patch for it?

Regards

Marcel

Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

#18 lore raw

Hi Marcel,

Quoted 6 lines · Marcel Holtmann

Hi Ulisses,

Quoted 1 line
Quoted 1 line

this seems that you have to wait for the link supervision timeout on

the

Quoted 1 line
Quoted 1 line

host side. Play a little bit with it. If you turn off the Bluetooth

Quoted 8 lines

chip

Quoted 4 lines

Which reminds me of one thing I read in the specification: the sniff_max_interval must be less than the link supervision timeout parameter. I can't say for sure we are taking care of this. Marcel?

the upcoming Lisbon specification will take care of the missing possibility to see a changed link supervision timeout.

What kind of feature is it?
Is it a new event or something that host will receive when the link supervision timeout changes?

Regards,
Mayank

Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

maintainer
#19 lore raw

Hi Mayank,

Quoted 2 lines

Is it a new event or something that host will receive when the link supervision timeout changes?

the host will be informed when the remote side changes the link supervision timeout. At the moment the host simply can't detect this.

Regards

Marcel

Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

#20 lore raw
In reply to Marcel Holtmann
Quoted 4 lines · Marcel Holtmann

the upcoming Lisbon specification will take care of the missing possibility to see a changed link supervision timeout. However we might need to track the actual link supervision timeout for our connections. Can you try to come up with a patch for it?

We can get the link supervision timeout when the connection is established (as we now do for the remote features), but I don't know how we are suppose to track it if we don't receive a notification when its value changes. It seems we don't have a _clean way_ of doing this and we'll always have the possibility of using the wrong link supervision timeout.

What do you think we should do? I'm wondering how often the link supervision timeout changes and if we should assume that it won't change after the connection is established (at least for now).

-- Ulisses

Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel