From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1VWaYq-0003pK-Dc for mharc-grub-devel@gnu.org; Wed, 16 Oct 2013 19:31:28 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45508) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VWaYi-0003o4-CC for grub-devel@gnu.org; Wed, 16 Oct 2013 19:31:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VWaYc-0001gT-UD for grub-devel@gnu.org; Wed, 16 Oct 2013 19:31:20 -0400 Received: from mail-ea0-x230.google.com ([2a00:1450:4013:c01::230]:56521) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VWaYc-0001gP-Il for grub-devel@gnu.org; Wed, 16 Oct 2013 19:31:14 -0400 Received: by mail-ea0-f176.google.com with SMTP id q16so686684ead.7 for ; Wed, 16 Oct 2013 16:31:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type; bh=9NjzHXyVOe4Rfnx3CM9dNcZQCUM+oZgTaqZJCcMH7ZY=; b=kHg/85WpViRNz2A7PbhceEc7wHJnrFtBo+DJqdVfre9lakFNch/nw5lmlOCLcmVpqh TtDTu0Unuml5ks3HsWOG5/kltnR99ViMHvOAtmdBbW7oCdiBakX+RLGEegEm1XwGWKY8 pcTql8x5muFuzZnq3McWTI5ifRIEIb0xY34hlPvMtUyJW4pziq4HTU5EE6bBioLkWRZU myTayaTBRT6VlBFrCKAZafsozC3eq3WW3G+JO6bDDU9HCSGViVRtuuS6e7a40jMk1ZxP hYpyJxvsn246by9SeITVSARb5qGT5Bq5qfYQmDTEzeeMPsY6DPaKH4UEIzvYCTwhpM93 QEXA== X-Received: by 10.14.37.4 with SMTP id x4mr8603702eea.16.1381966273302; Wed, 16 Oct 2013 16:31:13 -0700 (PDT) Received: from [192.168.1.16] (31-249.1-85.cust.bluewin.ch. [85.1.249.31]) by mx.google.com with ESMTPSA id x47sm185487076eea.16.1969.12.31.16.00.00 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 16 Oct 2013 16:31:12 -0700 (PDT) Message-ID: <525F21BF.7070707@gmail.com> Date: Thu, 17 Oct 2013 01:31:11 +0200 From: =?UTF-8?B?VmxhZGltaXIgJ8+GLWNvZGVyL3BoY29kZXInIFNlcmJpbmVua28=?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20131005 Icedove/17.0.9 MIME-Version: 1.0 To: The development of GNU GRUB , Ales Nesrsta Subject: Re: [grub-devel] loongson-2f mini-pc (fuloong) elf image generation. References: <508D6906.5000100@gmail.com> <1351547244.2511.11.camel@king.jenpiliny.cz> <1351628069.2535.33.camel@king.jenpiliny.cz> <51E00C7F.6080700@gmail.com> <51E45E19.6080401@volny.cz> <51E59E32.4080608@volny.cz> In-Reply-To: <51E59E32.4080608@volny.cz> X-Enigmail-Version: 1.5.1 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="----enig2CEDCAFRXMIPBWLSWFAUH" X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4013:c01::230 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Oct 2013 23:31:26 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) ------enig2CEDCAFRXMIPBWLSWFAUH Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Is any part of this thread still an issue? I marked it but it seems that there were couple of patches committed since then and suppsedly it fixes all problems mentioned. On 16.07.2013 21:25, Ale=C5=A1 Nesrsta wrote: > Hi Vladimir, >=20 > I have some additional information - results of some today's experiment= s. > The main important thing related to USB keyboard: >=20 > USB keyboard doesn't work if it is connected as first device to the sam= e > non-root hub port, where was connected USBMS device previously! > If the keyboard is disconnected and connected again to the same port, i= t > works. > this behavior is systematical, it can be repeated at any time (at least= > on my PC). >=20 > What is very interesting, USB keyboard is listed by command "usb". > And it doesn't matter if previously connected USBMS device was HIGH of > FULL device. >=20 > I.e., according these test results, even if the USB keybord is not > working, it is connected to port and addressed properly and its control= > pipe is working, but device itself is not working - maybe there is > something wrong in "high level" driver (usb_keyboard) - ? >=20 >=20 > There is also another bad thing - after some number of > connecting/disconnecting of the keyboard (at least about 20 and more) > the GRUB crashes - more properly, it reboots PC, i.e. there is probably= > also some memory leak... >=20 > BR, > Ales >=20 >> >> 1. >> Some of my USBMS devices have problems to work properly. It seems to b= e >> some regression because they worked well on some older revisions... :-= ( >> I did not make any investigation it this direction yet, as this proble= m >> is probably not related to latest changes (fix of root ports) - so I >> ignore them for now. >> >> 2. >> Sometimes some devices are not recognized (not working) in the case wh= en >> they are connected before USB "starting" time (before the moment when >> USB modules/drivers are loaded) or when hub with this device is >> connected. >> Additionally, it seems to happen only if device is connected via hub(s= ), >> not directly into root port - at least it was behavior during my tests= >> (but I did only few tests on root ports, I focused my tests to USB >> keyboard connected via hub(s) etc.). >> It looks like, in some rare cases, usbhub.c maybe miss some non-root h= ub >> port change(s). Unfortunately I had no enough time to try debug these >> situations. >> >> So I went through Your changes in usbhub.c and other USB related files= =2E >> Unfortunately, I did not found reason of the problem mentioned above i= n >> point 2. yet. >> But I found some another points to discuss: >> >> a) >> I found my old mistake related to variable "pending_reset". >> Meaning of this variable is to avoid concurrent reset on devices which= >> are connected to the same controller HW instance. >> This variable is stored in wrong place - it should be located not in >> "struct grub_usb_controller_dev" but in "struct grub_*hci" (i.e. >> grub_uhci, grub_ohci etc.). >> In fact, its current location is not totally bad - it is also working,= >> but it can slow down handling of USB devices (mainly in USB "starting"= >> phase) in case when there are more controllers of the same type. >> >> >> b) >> There is missing waiting for device stable power in case when device i= s >> connected to ROOT hub later than in USB "starting" time. >> This could possibly lead to wrong device reset and malfunction. >> >> I.e. the "first half" of "grub_usb_poll_devices" should be little bit >> changed, it is not correct to call "attach_root_port" immediately when= >> "detect_dev" detected device connection - it should be done e.g. in >> similar way as in "grub_usb_controller_dev_register" (or maybe better = in >> some another, "background" way, like You did for non-root hub - to >> prevent unwanted delay in execution of another GRUB parts). >> >> >> c) >> I thought about this old code: >> >> "... >> poll_nonroot_hub (grub_usb_device_t dev) >> { >> grub_usb_err_t err; >> unsigned i; >> grub_uint8_t changed; >> grub_size_t actual, len; >> >> if (!dev->hub_transfer) >> return; >> ..." >> >> I think, as the possible "error recovery", the better than current >> immediate return could be to try to call "grub_usb_bulk_read_backgroun= d" >> to schedule new background transfer for this hub before return - ? >> >> >> d) >> Cosmetic thing: >> It will be fine to rename declaration >> static struct grub_usb_hub *hubs; >> to >> static struct grub_usb_hub *root_hubs; >> to be more self explanative... :-) >> >> >> What do You think about the points a)-d) ? >> >> BR, >> Ales >> >> _______________________________________________ >> Grub-devel mailing list >> Grub-devel@gnu.org >> https://lists.gnu.org/mailman/listinfo/grub-devel >> >=20 > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > https://lists.gnu.org/mailman/listinfo/grub-devel > . >=20 ------enig2CEDCAFRXMIPBWLSWFAUH Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.15 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/ iF4EAREKAAYFAlJfIb8ACgkQNak7dOguQgnT1AD/ZBJaAFPGjB58/wOHX5n72dRV Z74yRs+VYm3YkLkWwPcA/1G3u8nI4p3woxFhaPlU4LmOpbGupbPu51x7LKTbBijf =iKZk -----END PGP SIGNATURE----- ------enig2CEDCAFRXMIPBWLSWFAUH--