From nobody Sat Apr 02 01:10:25 2022 X-Original-To: freebsd-arm@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 689411A4FBAE for ; Sat, 2 Apr 2022 01:10:39 +0000 (UTC) (envelope-from archimedes.gaviola@gmail.com) Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com [IPv6:2a00:1450:4864:20::62c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4KVf9V04frz3Jxt for ; Sat, 2 Apr 2022 01:10:38 +0000 (UTC) (envelope-from archimedes.gaviola@gmail.com) Received: by mail-ej1-x62c.google.com with SMTP id i27so2078785ejd.9 for ; Fri, 01 Apr 2022 18:10:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=zM9ddGUaKS92LH3+ZVaq9WoPsOHunHQddU4kq8kMWSw=; b=XIj+hfXwXyk7wG0FHiKp33eJqI8581ccWc5sLX3uZxh7JOF7Ehkh/KuE5HlkrJzA28 9Sd7PH3ASEzfEXDYm8o2/WUN+y88bcwD9THILd2yYy6oVqK558PFtGEVpCeFndxtwvx3 XlhJzZ48o3xxu8QwOHaD+iFhGodQ5DsYnodhxTxNyyMvQXEXONRXgNcr/i6k4hVZOPW3 4jLjAekc4pVZhp04YXMJMiCZT7TInm6ye+2NGGWWn8q2QrIHPp86MPRgnXzIH7g3sXP0 co1DyM+DbNfGtYDGpYxDsfu1lsBRLqSkT5Ggwkhg+MZiNJkCApGaeVB9R9Fz4NFkTxYn 7zCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=zM9ddGUaKS92LH3+ZVaq9WoPsOHunHQddU4kq8kMWSw=; b=l4lLF6ynucNVA4XZAts3OiyxrB/ZC5/7qy8gibVl6gyzVQG6kUmF6+Qt6jwtGHaxIP r3Pr/HR7DvjLTZ3BNtdbwJYzmmjyssZJjJkEbhX0pCfBjApYYLYdpssgbE8A2O9ocejJ y4o1Z6FGGnLI9Tv/wA2G/ZbxYt/7E5SHgH6WVstto49khy6+Mmxw7hNgioPppEVNgtsU /gbqAsr8qAx3kNd6MrgYWn9iTf3dv0nxCSgDn5KKBNxgCAM00661nEc1qYeZ/EbN0JCb PCRTDVgNl6Vxh+96YoGqa4cejmfkxIEiyEasYnQlw781oPO2ZSw042NbN7QyehIZffnO CgCQ== X-Gm-Message-State: AOAM530p42UC2KSI8OdlhZlVwxxF1/xwE/pRxi+UEInjeZRWB2Q2A5bf nsVmsVwvq30w5TvL8GM28VZ8JI7JEww37JQ4Z4qmTDInG1E= X-Google-Smtp-Source: ABdhPJxhJcNa/DepxX3Eu61ICPa4OuzOM97IfQuvjNHTHuSAscemaISLcDrYpQzL0g5IiaB7X1m9xvgnO8fEfXKR5FE= X-Received: by 2002:a17:906:7304:b0:6e0:6918:ef6f with SMTP id di4-20020a170906730400b006e06918ef6fmr2040301ejc.370.1648861836888; Fri, 01 Apr 2022 18:10:36 -0700 (PDT) List-Id: Porting FreeBSD to ARM processors List-Archive: https://lists.freebsd.org/archives/freebsd-arm List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-arm@freebsd.org MIME-Version: 1.0 References: <60f98b10-dcdc-cdf4-3d7a-fe9fd4dff223@selasky.org> <8226461b-5740-9c19-0575-2740bd952e16@selasky.org> <5fcece51-b014-330e-b701-fd75fa1ac204@selasky.org> <534edcd2-c6ef-729d-0768-9f469958e16a@selasky.org> <0b3e82fe-b45f-67f0-3009-90e887c14159@selasky.org> In-Reply-To: <0b3e82fe-b45f-67f0-3009-90e887c14159@selasky.org> From: Archimedes Gaviola Date: Sat, 2 Apr 2022 09:10:25 +0800 Message-ID: Subject: Re: Raspberry Pi 3B USB Printing Issue To: Hans Petter Selasky Cc: freebsd-arm@freebsd.org Content-Type: multipart/alternative; boundary="000000000000124f6d05dba19021" X-Rspamd-Queue-Id: 4KVf9V04frz3Jxt X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20210112 header.b=XIj+hfXw; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of archimedesgaviola@gmail.com designates 2a00:1450:4864:20::62c as permitted sender) smtp.mailfrom=archimedesgaviola@gmail.com X-Spamd-Result: default: False [-4.00 / 15.00]; TO_DN_SOME(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; MID_RHS_MATCH_FROMTLD(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; NEURAL_HAM_SHORT(-1.00)[-1.000]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; TAGGED_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20210112]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-arm@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2a00:1450:4864:20::62c:from]; MLMMJ_DEST(0.00)[freebsd-arm]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[] X-ThisMailContainsUnwantedMimeParts: N --000000000000124f6d05dba19021 Content-Type: text/plain; charset="UTF-8" On Sat, Apr 2, 2022 at 8:30 AM Hans Petter Selasky wrote: > On 4/2/22 00:56, Archimedes Gaviola wrote: > > On Fri, Apr 1, 2022 at 12:01 AM Hans Petter Selasky > wrote: > > > >> On 3/31/22 15:52, Archimedes Gaviola wrote: > >>> Are you pertaining to this code Hans, the one you've shared to me > >>> previously? > >>> > >>> + /* Epson printer */ > >>> + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_TMU220B, 0)}, > >> > >> Yes, but you can also add the IFACE_XXX ones with "," simply. > >> > > > > Hi Hans, > > > > Here's what I have come-up with based on my understanding from your > > suggestion. I took a look as well from other USB devices' sources. This > > compiles without any problems, still able to detect my printers and > > printing still works well. Let me know if this is correct or needs > further > > changes. > > > > freebsd@generic:~ % diff -Nur /usr/src/sys/dev/usb/serial/ulpt.c.orig > > /usr/src/sys/dev/usb/serial/ulpt.c > > --- /usr/src/sys/dev/usb/serial/ulpt.c.orig 2022-03-21 > > 19:44:29.178010000 +0800 > > +++ /usr/src/sys/dev/usb/serial/ulpt.c 2022-04-02 14:27:54.073592000 > +0800 > > @@ -499,6 +499,13 @@ > > {USB_IFACE_CLASS(UICLASS_PRINTER), > > USB_IFACE_SUBCLASS(UISUBCLASS_PRINTER), > > USB_IFACE_PROTOCOL(UIPROTO_PRINTER_1284)}, > > + > > + /* Epson printer */ > > + {USB_VENDOR(USB_VENDOR_EPSON), > > + USB_PRODUCT(USB_PRODUCT_EPSON_TMU220B), > > + USB_IFACE_CLASS(UICLASS_VENDOR), > > + USB_IFACE_SUBCLASS(UISUBCLASS_VENDOR), > > + USB_IFACE_PROTOCOL(UIPROTO_PRINTER_BI)}, > > }; > > > > static int > > @@ -555,9 +562,11 @@ > > break; > > } else { > > alt_index++; > > - if ((id->bInterfaceClass == > > UICLASS_PRINTER) && > > - (id->bInterfaceSubClass == > > UISUBCLASS_PRINTER) && > > - (id->bInterfaceProtocol == > > UIPROTO_PRINTER_BI)) { > > + if ((id->bInterfaceClass == > UICLASS_PRINTER > > || > > + id->bInterfaceClass == > UICLASS_VENDOR) > > && > > + (id->bInterfaceSubClass == > > UISUBCLASS_PRINTER || > > + id->bInterfaceClass == > > UISUBCLASS_VENDOR) && > > + (id->bInterfaceProtocol == > > UIPROTO_PRINTER_BI)) { > > goto found; > > } > > } > > > > freebsd@generic:~ % diff -Nur /usr/src/sys/dev/usb/usbdevs.orig > > /usr/src/sys/dev/usb/usbdevs > > --- /usr/src/sys/dev/usb/usbdevs.orig 2022-03-21 19:42:20.999397000 > +0800 > > +++ /usr/src/sys/dev/usb/usbdevs 2022-04-01 01:21:31.361567000 > +0800 > > @@ -1941,6 +1941,7 @@ > > product EPSON 2480 0x0121 Perfection 2480 scanner > > product EPSON 3590 0x0122 Perfection 3590 scanner > > product EPSON 4990 0x012a Perfection 4990 Photo scanner > > +product EPSON TMU220B 0x0202 TM-U220B > > product EPSON CRESSI_EDY 0x0521 Cressi Edy diving computer > > product EPSON N2ITION3 0x0522 Zeagle N2iTion3 diving computer > > product EPSON STYLUS_875DC 0x0601 Stylus Photo 875DC Card Reader > > > > freebsd@generic:~ % dmesg > > ... > > ugen1.5: at usbus1 > > ugen1.6: at usbus1 > > ulpt0 on uhub1 > > ulpt0: on usbus1 > > ulpt0: using bi-directional mode > > ulpt1 on uhub1 > > ulpt1: 6> > > on usbus1 > > ulpt1: using bi-directional mode > > ulpt1: offline > > > > Here you go: > > https://cgit.freebsd.org/src/commit/?id=88162f7abd61206c98432f2c0de869a59be13854 > > Happy printing :-) > Hans, thank you so much for the help and guidance! :-) --000000000000124f6d05dba19021 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Sat, Apr 2, 2022 at 8:30 AM Hans P= etter Selasky <hps@selasky.org>= ; wrote:
On 4/2/= 22 00:56, Archimedes Gaviola wrote:
> On Fri, Apr 1, 2022 at 12:01 AM Hans Petter Selasky <hps@selasky.org> wrote:
>
>> On 3/31/22 15:52, Archimedes Gaviola wrote:
>>> Are you pertaining to this code Hans, the one you've share= d to me
>>> previously?
>>>
>>> +=C2=A0 =C2=A0 =C2=A0 =C2=A0/* Epson printer */
>>> +=C2=A0 =C2=A0 =C2=A0 =C2=A0{USB_VPI(USB_VENDOR_EPSON, USB_PRO= DUCT_EPSON_TMU220B, 0)},
>>
>> Yes, but you can also add the IFACE_XXX ones with "," si= mply.
>>
>
> Hi Hans,
>
> Here's what I have come-up with based on my understanding from you= r
> suggestion. I took a look as well from other USB devices' sources.= This
> compiles without any problems, still able to detect my printers and > printing still works well. Let me know if this is correct or needs fur= ther
> changes.
>
> freebsd@generic:~ % diff -Nur /usr/src/sys/dev/usb/serial/ulpt.c.orig<= br> > /usr/src/sys/dev/usb/serial/ulpt.c
> --- /usr/src/sys/dev/usb/serial/ulpt.c.orig=C2=A0 =C2=A0 =C2=A02022-03= -21
> 19:44:29.178010000 +0800
> +++ /usr/src/sys/dev/usb/serial/ulpt.c=C2=A0 2022-04-02 14:27:54.07359= 2000 +0800
> @@ -499,6 +499,13 @@
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {USB_IFACE_CLASS(UICLASS_PRINTER), >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0USB_IFACE_SUBCLASS(UISUBCLASS_= PRINTER),
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0USB_IFACE_PROTOCOL(UIPROTO_PRI= NTER_1284)},
> +
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0/* Epson printer */
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0{USB_VENDOR(USB_VENDOR_EPSON),
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 USB_PRODUCT(USB_PRODUCT_EPSON_TMU220B), > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 USB_IFACE_CLASS(UICLASS_VENDOR),
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 USB_IFACE_SUBCLASS(UISUBCLASS_VENDOR), > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 USB_IFACE_PROTOCOL(UIPROTO_PRINTER_BI)},<= br> >=C2=A0 =C2=A0};
>
>=C2=A0 =C2=A0static int
> @@ -555,9 +562,11 @@
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 } else {
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 alt_index++;
> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if ((id->bInterfaceClass =3D= =3D
> UICLASS_PRINTER) &&
> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(id->bInterfaceS= ubClass =3D=3D
> UISUBCLASS_PRINTER) &&
> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(id->bInterfaceP= rotocol =3D=3D
> UIPROTO_PRINTER_BI)) {
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if ((id->bInterfaceClass =3D= =3D UICLASS_PRINTER
> ||
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0id->bInterfaceCl= ass =3D=3D UICLASS_VENDOR)
> &&
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(id->bInterfaceS= ubClass =3D=3D
> UISUBCLASS_PRINTER ||
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0id->bInterfaceCl= ass =3D=3D
> UISUBCLASS_VENDOR) &&
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(id->bInterfaceP= rotocol =3D=3D
> UIPROTO_PRINTER_BI)) {
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 goto found;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 }
>
> freebsd@generic:~ % diff -Nur /usr/src/sys/dev/usb/usbdevs.orig
> /usr/src/sys/dev/usb/usbdevs
> --- /usr/src/sys/dev/usb/usbdevs.orig=C2=A0 =C2=A02022-03-21 19:42:20.= 999397000 +0800
> +++ /usr/src/sys/dev/usb/usbdevs=C2=A0 =C2=A0 =C2=A0 =C2=A0 2022-04-01= 01:21:31.361567000 +0800
> @@ -1941,6 +1941,7 @@
>=C2=A0 =C2=A0product EPSON 2480=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A00x0121=C2=A0 Perfection 2480 scanner
>=C2=A0 =C2=A0product EPSON 3590=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A00x0122=C2=A0 Perfection 3590 scanner
>=C2=A0 =C2=A0product EPSON 4990=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A00x012a=C2=A0 Perfection 4990 Photo scanner
> +product EPSON TMU220B=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 0x0202=C2=A0 = TM-U220B
>=C2=A0 =C2=A0product EPSON CRESSI_EDY=C2=A0 =C2=A0 =C2=A0 =C2=A00x0521= =C2=A0 Cressi Edy diving computer
>=C2=A0 =C2=A0product EPSON N2ITION3=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A00x= 0522=C2=A0 Zeagle N2iTion3 diving computer
>=C2=A0 =C2=A0product EPSON STYLUS_875DC=C2=A0 =C2=A0 =C2=A00x0601=C2=A0= Stylus Photo 875DC Card Reader
>
> freebsd@generic:~ % dmesg
> ...
> ugen1.5: <EPSON EPSON UB-U03II> at usbus1
> ugen1.6: <Printer-58 USB Printing Support> at usbus1
> ulpt0 on uhub1
> ulpt0: <EPSON EPSON UB-U03II, class 0/0, rev 1.10/2.00, addr 5> = on usbus1
> ulpt0: using bi-directional mode
> ulpt1 on uhub1
> ulpt1: <Printer-58 USB Printing Support, class 0/0, rev 2.00/2.54, = addr 6>
> on usbus1
> ulpt1: using bi-directional mode
> ulpt1: offline
>

Here you go:
https://cgit.freeb= sd.org/src/commit/?id=3D88162f7abd61206c98432f2c0de869a59be13854

Happy printing :-)

Hans, thank you so much f= or the help and guidance! :-)
--000000000000124f6d05dba19021--