Markus,

Here are some things we can try..

1. For USB High speed support, make sure you are running kernel 2.6.15
or higher. Depending on the printer (ie: CLJ2550, CLJ2840, LJ3050,
LJ3055), older kernels may only work with USB Full speed.

2. In case the printer is confused or hung, power-cycle printer.

3. Some inexpensive USB hubs do not work well with 1284.4/MLC. Try with USB
cable plugged directly into PC, no USB hub.

4. If the printer is enumerating as USB High speed, try Full speed.
Either set bios to use Full speed or use USB 1.1 hub.

If still getting dot4init errors, get the following info so we can try
to reproduce the problem.

1. What kind of mother board is used?
2. What USB chip set is used?
3. Distro?

lspci -v | grep HCI

Hope this helps!

A

Markus Huschka wrote:
Hi Aaron,
applied the patch and it worked, but it seems that it doesn't solve my problem:

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Sep 9 11:17:46 vaio-z1 hpiod: unexpected DOT4CreditRequest: cmd=4, hid=1, pid=1, maxcredit=8: io/hpiod/dot4.cpp 144 Sep 9 11:17:46 vaio-z1 hpiod: unexpected DOT4CreditRequest: cmd=4, hid=1, pid=1, maxcredit=8: io/hpiod/dot4.cpp 144 Sep 9 11:17:46 vaio-z1 hpiod: unexpected DOT4CreditRequest: cmd=4, hid=1, pid=1, maxcredit=8: io/hpiod/dot4.cpp 144 Sep 9 11:17:46 vaio-z1 hpiod: unexpected DOT4CreditRequest: cmd=4, hid=1, pid=1, maxcredit=8: io/hpiod/dot4.cpp 144 Sep 9 11:20:31 vaio-z1 hpiod: unable to read Dot4ReverseReply header: Resource temporarily unavailable bytesRead=0 io/hpiod/dot4.cpp 252 Sep 9 11:20:31 vaio-z1 hpiod: invalid DOT4InitReply retrying command... io/hpiod/dot4.cpp 339 Sep 9 11:20:35 vaio-z1 hpiod: unable to read Dot4ReverseReply header: Resource temporarily unavailable bytesRead=0 io/hpiod/dot4.cpp 252 Sep 9 11:20:35 vaio-z1 hpiod: invalid DOT4InitReply: cmd=0, result=20 , revision=0 io/hpiod/dot4.cpp 350 Sep 9 11:20:36 vaio-z1 hp_color_LaserJet_2550_series?serial=00CNHHK03579: INFO: open print channel failed; will retry in 30 seconds... Sep 9 11:21:10 vaio-z1 hpiod: unable to read Dot4ReverseReply header: Resource temporarily unavailable bytesRead=0 io/hpiod/dot4.cpp 252 Sep 9 11:21:10 vaio-z1 hpiod: invalid DOT4InitReply retrying command... io/hpiod/dot4.cpp 339 Sep 9 11:21:14 vaio-z1 hpiod: unable to read Dot4ReverseReply header: Resource temporarily unavailable bytesRead=0 io/hpiod/dot4.cpp 252 Sep 9 11:21:14 vaio-z1 hpiod: invalid DOT4InitReply: cmd=0, result=20 , revision=0 io/hpiod/dot4.cpp 350 Sep 9 11:21:15 vaio-z1 hp_color_LaserJet_2550_series?serial=00CNHHK03579: INFO: open print channel failed; will retry in 30 seconds... Sep 9 11:21:33 vaio-z1 hpiod: device cleanup uri=hp:/usb/hp_color_LaserJet_2550_series?serial=00CNHHK03579
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Still the printer doesn't start to print anything....


Aaron J Albright wrote:
Markus,

Sorry, correct file attached.

A

Markus Huschka wrote:
Hi Aaron,

did you attach the correct file? It has a different name
(hplip-0.9.11-1.patch vs. hpiod-1.6.7-1.patch) and is an update to
data/xml/models.xml. So maybe thats the reason why I can't execute the
patch:

=====================================================================
patch -p1 < hplip-0.9.11-1.patch
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -uNr hplip-0.9.11.old/data/xml/models.xml
hplip-0.9.11.new/data/xml/models.xml
|--- hplip-0.9.11.old/data/xml/models.xml       2006-05-08
12:27:06.000000000 -0700
|+++ hplip-0.9.11.new/data/xml/models.xml       2006-05-10
15:46:29.413942616 -0700
--------------------------
File to patch:
=====================================================================

Thanks,
Markus

Aaron J Albright wrote:
Markus,

Can you try again but with this patch?

Thanks.

tar xzvf hplip-1.6.7.tar.gz
 > > cp hpiod-1.6.7-1.patch hplip-1.6.7/io/hpiod
 > > cd hplip-1.6.7/io/hpiod
 > > patch -p1 < hpiod-1.6.7-1.patch
 > > cd ../..
 > > ./configure --prefix=/usr
 > > make
 > > make install

Aaron

Markus Huschka wrote:
Hi,

I got my new printer, a Color LaserJet 2550LN, and tried to print using
hplip 1.6.7 and cups 1.2.2. It's connected via USB to my gentoo box.
Everything seems to work except that I'm not able to print using hplip.
I can check the printerstatus with hp-toolbox and all information about
cartridges, printerstatus, etc are shown correctly, but it's impossible
to print a testpage or any other document. If I try to print I get the
following errors in /var/log/messages and the printer never starts to print:

----------------------------------------------------------------------------------------------------------------------------------------------------------
Aug 28 15:35:27 lumpen hpiod: unable to read Dot4ReverseReply header:
Resource temporarily unavailable bytesRead=0 io/hpiod/dot4.cpp 245
Aug 28 15:35:27 lumpen hpiod: invalid DOT4InitReply retrying command...
io/hpiod/dot4.cpp 332
Aug 28 15:35:31 lumpen hpiod: unable to read Dot4ReverseReply header:
Resource temporarily unavailable bytesRead=0 io/hpiod/dot4.cpp 245
Aug 28 15:35:31 lumpen hpiod: invalid DOT4InitReply: cmd=0, result=20 ,
revision=74 io/hpiod/dot4.cpp 343
Aug 28 15:35:32 lumpen
hp_color_LaserJet_2550_series?serial=00CNHHK03579: INFO: open print
channel failed; will retry in 30 seconds...
----------------------------------------------------------------------------------------------------------------------------------------------------------

When starting hp-toolbox these messages appear in /var/log/messages:

----------------------------------------------------------------------------------------------------------------------------------------------------------
Aug 28 15:34:58 lumpen hpiod: unexpected DOT4CreditRequest: cmd=4,
hid=1, pid=1, maxcredit=8: io/hpiod/dot4.cpp 137
Aug 28 15:34:58 lumpen hpiod: unexpected DOT4CreditRequest: cmd=4,
hid=1, pid=1, maxcredit=8: io/hpiod/dot4.cpp 137
Aug 28 15:34:58 lumpen hpiod: unexpected DOT4CreditRequest: cmd=4,
hid=1, pid=1, maxcredit=8: io/hpiod/dot4.cpp 137
Aug 28 15:34:58 lumpen hpiod: unexpected DOT4CreditRequest: cmd=4,
hid=1, pid=1, maxcredit=8: io/hpiod/dot4.cpp 137
Aug 28 15:34:58 lumpen hpiod: unexpected DOT4CreditRequest: cmd=4,
hid=1, pid=1, maxcredit=8: io/hpiod/dot4.cpp 137
----------------------------------------------------------------------------------------------------------------------------------------------------------

The printer works fine using the usb:// backend or MS Windows XP and has
the most recent firmware installed.  How can this problem be solved?
If you need any other infos, log-files, etc. tell me!
Thanks for your help!

------------------------------------------------------------------------- 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
_______________________________________________
HPLIP-Help mailing list
HPLIP-Help@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hplip-help

------------------------------------------------------------------------

diff -uNr hplip-0.9.11.old/data/xml/models.xml hplip-0.9.11.new/data/xml/models.xml --- hplip-0.9.11.old/data/xml/models.xml 2006-05-08 12:27:06.000000000 -0700 +++ hplip-0.9.11.new/data/xml/models.xml 2006-05-10 15:46:29.413942616 -0700
@@ -7797,6 +7797,32 @@
     </r0>
 </model>
+<model name="PSC_950xi"> + <id>MFG:Hewlett-Packard;MDL:PSC 900 Series;SKU:PSC 950;CMD:2,PCL,PML;CLASS:PRINTER;DESCRIPTION:Hewlett-Packard PSC 900 Series;1284.3M:f7f,f7f;1284.4DL:4d,4e,1;SERN:MY15U31143WP;VSTATUS:$AU0$AU0,ff,DN,PENF,CUT,K0,C0,SM,NR,KP066,CP095;AiO:00;DW-PCL;</id>
+    <icon>PSC_900_Series.png</icon>
+    <support type="2"/>
+    <case-model>
+    </case-model>
+    <io support="2" mode="1" control="0" mfp-mode="2" scan-port="0"/>
+    <align type="9"/>
+    <clean type="3"/>
+    <color-cal type="0"/>
+    <status type="1"/>
+    <scan type="1"/>
+    <fax type="0"/>
+    <pcard type="1"/>
+    <copy type="0"/>
+    <tech class="DJ9xx" type="2"/>
+    <embedded-server type="0"/>
+    <panel-check type="1"/>
+    <linefeed-cal type="0"/>
+    <pq-diag type="0"/>
+    <r0>
+        <agent1 kind="3" type="1" sku="15 (C6615DN)"/>
+        <agent2 kind="3" type="2" sku="78 (C6578AN / C6578DN)"/>
+    </r0>
+</model>
+
 <model name="Photosmart_2570_series">
     <id></id>
     <icon>psc_2300_series.png</icon>

-------------------------------------------------------------------------
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
_______________________________________________
HPLIP-Help mailing list
HPLIP-Help@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hplip-help

------------------------------------------------------------------------

diff -uNr old/device.cpp new/device.cpp
--- old/device.cpp      2006-08-28 12:24:04.192691635 -0700
+++ new/device.cpp      2006-08-28 12:22:47.078508175 -0700
@@ -448,11 +448,20 @@
    hd = FD[fd].pHD;
len = usb_control_msg(hd, + USB_ENDPOINT_OUT | USB_TYPE_CLASS | USB_RECIP_OTHER, /* bmRequestType */
+             0x02,        /* bRequest */
+             0,        /* wValue */
+             0, /* wIndex */
+             NULL, 0, LIBUSB_CONTROL_REQ_TIMEOUT);
+
+#if 0
+ len = usb_control_msg(hd, USB_ENDPOINT_IN | USB_TYPE_CLASS | USB_RECIP_OTHER, /* bmRequestType */
              0x02,        /* bRequest */
              0,        /* wValue */
              0, /* wIndex */
              NULL, 0, LIBUSB_CONTROL_REQ_TIMEOUT);
+#endif
if (len < 0)
    {
diff -uNr old/dot4.cpp new/dot4.cpp
--- old/dot4.cpp        2006-08-28 12:23:54.154974760 -0700
+++ new/dot4.cpp        2006-08-28 12:22:33.824184882 -0700
@@ -88,6 +88,13 @@
       {
          /* Got a valid data packet handle it. This can happen when ReadData 
timeouts and p2hcredit=1. */
          pC = (Dot4Channel *)pDev->pChannel[i];
+
+         if (pC->GetP2HCredit() <= 0)
+         {
+            syslog(LOG_ERR, "invalid data packet credit=%d: %s %d\n", 
pC->GetP2HCredit(), __FILE__, __LINE__);
+            return 0;
+         }
+
          size = ntohs(pCmd->h.length) - sizeof(DOT4Header);
          if (size > (MAX_RECEIVER_DATA - pC->rcnt))
          {
@@ -459,7 +466,7 @@
 /* Read data from peripheral. */
 int Dot4Channel::Dot4ReverseData(int fd, int sockid, unsigned char *buf, int 
length, int timeout)
 {
-   int len, size, total;
+   int len, size, total, i;
    DOT4Header *pPk;
pPk = (DOT4Header *)buf;
@@ -517,6 +524,43 @@
             Dot4ExecReverseCmd(fd, buf);
             continue;   /* try again for data packet */
          }
+         else if ((pPk->psid == pPk->ssid) && ((i = 
Dot4Socket2Channel(pPk->psid)) >= 0))
+         {
+            /* Got a valid data packet for another channel handle it. This can 
happen when ReadData timeouts and p2hcredit=1. */
+            Dot4Channel *pC = (Dot4Channel *)pDev->pChannel[i];
+            unsigned char *pBuf;
+
+            if (pC->GetP2HCredit() <= 0)
+            {
+               syslog(LOG_ERR, "invalid data packet credit=%d: %s %d\n", 
pC->GetP2HCredit(), __FILE__, __LINE__);
+               goto bugout;
+            }
+
+            if (size > (MAX_RECEIVER_DATA - pC->rcnt))
+            {
+               syslog(LOG_ERR, "invalid data packet size=%d: %s %d\n", size, 
__FILE__, __LINE__);
+               goto bugout;
+            }
+ + total = 0;
+            pBuf = &pC->rbuf[pC->rcnt];
+            while (size > 0)
+            {
+               if ((len = pDev->Read(fd, pBuf+total, size)) < 0)
+               {
+                  syslog(LOG_ERR, "unable to read Dot4ReverseData: %m %s 
%d\n", __FILE__, __LINE__);
+                  goto bugout;
+               }
+               size-=len;
+               total+=len;
+            }
+
+            pC->rcnt += total;
+            if (pPk->credit)
+ pC->SetH2PCredit(pC->GetH2PCredit() + pPk->credit); /* note, piggy back credit is 1 byte wide */ + pC->SetP2HCredit(pC->GetP2HCredit()-1); /* one data packet was read, decrement credit count */
+            continue;   /* try again for data packet */
+         }
          else
          {
             DOT4Cmd *pCmd = (DOT4Cmd *)buf;
diff -uNr old/mlc.cpp new/mlc.cpp
--- old/mlc.cpp 2006-08-28 12:23:44.212244284 -0700
+++ new/mlc.cpp 2006-08-28 12:22:28.770823225 -0700
@@ -83,6 +83,13 @@
       {
          /* Got a valid data packet handle it. This can happen when ReadData 
timeouts and p2hcredit=1. */
          pC = (MlcChannel *)pDev->pChannel[i];
+
+         if (pC->GetP2HCredit() <= 0)
+         {
+            syslog(LOG_ERR, "invalid data packet credit=%d: %s %d\n", 
pC->GetP2HCredit(), __FILE__, __LINE__);
+            return 0;
+         }
+
          size = ntohs(pCmd->h.length) - sizeof(MLCHeader);
          if (size > (MAX_RECEIVER_DATA - pC->rcnt))
          {
@@ -467,7 +474,7 @@
 /* Read data from peripheral. */
 int MlcChannel::MlcReverseData(int fd, int sockid, unsigned char *buf, int 
length, int timeout)
 {
-   int len, size, total;
+   int len, size, total, i;
    MLCHeader *pPk;
pPk = (MLCHeader *)buf;
@@ -502,7 +509,7 @@
if (size > length)
       {
-         syslog(LOG_ERR, "invalid MlcReverseData size: size=%d, buf=%d\n", 
size, length);
+         syslog(LOG_ERR, "invalid MlcReverseData size: size=%d, buf=%d %s 
%d\n", size, length, __FILE__, __LINE__);
          goto bugout;
} @@ -516,7 +523,7 @@
             {
                if ((len = pDev->Read(fd, buf+total, size)) < 0)
                {
-                  syslog(LOG_ERR, "unable to read MlcReverseData command: 
%m\n");
+                  syslog(LOG_ERR, "unable to read MlcReverseData command: %m %s 
%d\n", __FILE__, __LINE__);
                   goto bugout;
                }
                size-=len;
@@ -525,10 +532,48 @@
             MlcExecReverseCmd(fd, buf);
             continue;   /* try again for data packet */
          }
+         else if ((pPk->hsid == pPk->psid) && ((i = MlcSocket2Channel(pPk->hsid)) 
>= 0))
+         {
+            /* Got a valid data packet for another channel handle it. This can 
happen when ReadData timeouts and p2hcredit=1. */
+            MlcChannel *pC = (MlcChannel *)pDev->pChannel[i];
+            unsigned char *pBuf;
+
+            if (pC->GetP2HCredit() <= 0)
+            {
+               syslog(LOG_ERR, "invalid data packet credit=%d: %s %d\n", 
pC->GetP2HCredit(), __FILE__, __LINE__);
+               goto bugout;
+            }
+
+            if (size > (MAX_RECEIVER_DATA - pC->rcnt))
+            {
+               syslog(LOG_ERR, "invalid data packet size=%d: %s %d\n", size, 
__FILE__, __LINE__);
+               goto bugout;
+            }
+ + total = 0;
+            pBuf = &pC->rbuf[pC->rcnt];
+            while (size > 0)
+            {
+               if ((len = pDev->Read(fd, pBuf+total, size)) < 0)
+               {
+                  syslog(LOG_ERR, "unable to read MlcReverseData: %m %s %d\n", 
__FILE__, __LINE__);
+                  goto bugout;
+               }
+               size-=len;
+               total+=len;
+            }
+
+            pC->rcnt += total;
+            if (pPk->credit)
+ pC->SetH2PCredit(pC->GetH2PCredit() + pPk->credit); /* note, piggy back credit is 1 byte wide */ + pC->SetP2HCredit(pC->GetP2HCredit()-1); /* one data packet was read, decrement credit count */
+            continue;   /* try again for data packet */
+         }
          else
          {
             MLCCmd *pCmd = (MLCCmd *)buf;
-            syslog(LOG_ERR, "invalid MlcReverseData state: unexpected packet hsid=%x, 
psid=%x, cmd=%x\n", pPk->hsid, pPk->psid, pCmd->cmd);
+ syslog(LOG_ERR, "invalid MlcReverseData state: exp hsid=%x, act hsid=%x, psid=%x, length=%d, credit=%d, status=%x, cmd=%x %s %d\n", sockid, + pPk->hsid, pPk->psid, ntohs(pPk->length), pPk->credit, pPk->status, pCmd->cmd, __FILE__, __LINE__);
             goto bugout;
          }
       }
@@ -545,7 +590,7 @@
       {
          if ((len = pDev->Read(fd, buf+total, size)) < 0)
          {
-            syslog(LOG_ERR, "unable to read MlcReverseData: %m\n");
+            syslog(LOG_ERR, "unable to read MlcReverseData: %m %s %d\n", 
__FILE__, __LINE__);
             goto bugout;
          }
          size-=len;

-------------------------------------------------------------------------
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
_______________________________________________
HPLIP-Help mailing list
HPLIP-Help@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hplip-help

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

-------------------------------------------------------------------------
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
_______________________________________________
HPLIP-Help mailing list
HPLIP-Help@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hplip-help

Reply via email to