From: PASCHAL,DAVID (HP-Roseville,ex1) <dav...@hp...> - 2000-10-31 00:57:44
|
> From: Joe Piolunek [mailto:joe...@sn...] > About the simple xojpanel that has been included with hpoj-x.x : > > I improved its functionality and appearance a bit. It now has > some reasonably > nice graphics that I created for it. For an image of a > printer, I used a pic of > an OJ 500 from one of the project's web pages. I scaled it > down and touched it > up. <snip> > I'd like to do a little more with it, but it seems good > enough now to include > in your next release, if you want it. I'm guessing that you > are planning one > soon. Hi, Joe. Thanks for updating this utility. I haven't tried it out yet but the screenshot looks nice. It's starting to seem like time for another release, so I'll see about putting it in. > The LCD line 1 text scrolls now when it's too long. I > haven't been able to > test scrolling on line 2, but it looks like it might work. One concern I have here is that sometimes the peripheral does its own scrolling when the message is too big for the actual LCD. If your display is smaller and you're trying to do your own scrolling as well, then it might not be too pretty. I'm not sure what the best way would be to figure out how large to make the display, but perhaps you could make it grow dynamically whenever you got back a string with more printable (non-null, non-space) characters than you already had room for. Since I'm not familiar with QT I don't know how hard this would be. > By the way - are you satisfied with the project's present > versioning system? It > seems to me that adding a third digit might be useful. I think after 0.9 I'll just go to 0.10, where the dot is merely a field separator rather than a decimal point in the true mathematical sense (in other words, 0.1 != 0.10). I don't see any point in retroactively applying leading zeroes to the right-hand side of old versions. David |
From: <pa...@rc...> - 2000-10-31 04:14:04
|
Hi, Joe. > If all of the officejets always send the complete string to xojpanel, xojpanel > shouldn't be affected by the printer's scrolling action. I'm not sure what you > mean, though. Are you saying that some printers can send sections of a string > rather than the whole thing? The 570 I have perpetually scrolls the message "See instructions to print demo page" or something like that, except when it has a more urgent message to display. If I remember correctly, when I ran the original xojpanel (which presumably didn't scroll text by itself) with this peripheral, the message scrolled on the screen at more or less the same rate. > The only officejet I have access to is my 600, which has only the one text line > on its hardware lcd. It probably never sends a line2. That prevents me from > properly testing line 2 scrolling. Code for second line display and scrolling > is in xojpanel now, though. > > Are there any officejets that have a second line on their LCD? Do any of them > have a second line that would ever need to be scrolled? The answers > probably aren't necessary right now, but they could be helpful. The 700, T, G, and K series all have two-line LCDs, and they all have at least a few messages that scroll on the second line. (The LaserJet 3200 also has a two-line LCD, but it's not software-retrievable.) > If you haven't downloaded my changes yet, and are not in a hurry, wait just a > bit. I just found and hopefully corrected another bug (a memory leak) and will > probably put the new code on my site tomorrow. OK. When I get a chance (which more than likely will be after your new version) I'll try it out on the various models I have (570, G85, K80) and let you know what happens. David |
From: Joe P. <joe...@sn...> - 2000-10-31 20:38:52
|
On Mon, 30 Oct 2000, David Paschal wrote: <...> > The 570 I have perpetually scrolls the message "See instructions to print > demo page" or something like that, except when it has a more urgent message > to display. If I remember correctly, when I ran the original xojpanel > (which presumably didn't scroll text by itself) with this peripheral, the > message scrolled on the screen at more or less the same rate. The original xojpanel has no ability itself to scroll. If its text display "scrolls" it would be because the printer is sending partial strings. If that is the case, my code should handle it anyway, as long as no timing problems develop. If the string is more than 16 chars, the pixmap will probably just be overrun with text. It may not cause any damage, but won't look nice. A longer lcd background pixmap would need to be substituted in a case like that, with some code changes. It might not be too difficult. Can you check the xojpanel output again to see what's really happening, and how long the string is, if you can see it all? The last release of xojpanel has a problem finding its lcd pixmap, but if run from the xojpanel/ build directory, it shouldn't have any trouble. If you can get "hpo set" working, can you get it to automatically set the Time/Date on the printer? The 600's clock has to be reset every time the printer is turned on. The memory leak I found is plugged now in my upgraded xojpanel. The new code is on my site. I did a kind of test of Line2 scrolling by creating a fake Line2 string. It seems ok. It still needs a real test, though. http://pages.cthome.net/jsp/hpoj-linux-gui/index.html -------------------------------------- Joe |
From: <pa...@rc...> - 2000-11-01 00:01:49
|
> David Paschal <pa...@rc...> wrote: > > > > > > hi, the patch doesn;t work cleanly for me over an hpoj-0.6 > > > with the smp patch ... what am i doing wrong? > > Hi, Carlos. The patch I put out was intended to be applied to a previously > > unmodified copy of ieee12844pp.c from hpoj-0.6. Burkhard said he would > > merge his patch with mine, so try that when he releases is. As I said > > yesterday I will set up CVS soon so we can track each other's changes > > better in the future. Sorry about the current inconvienence. > > > > David Carlos Puchol <cp...@pu...> wrote: > oh, i did not realize it was not compatible ... > > i am also having trouble in that about 3/4ths of the way into > printing a single-page ps file (some text like > echo hello world | nenscript -2rG) the printout starts showing > junk characters (as in text mode, in rows). ideas? > it is an officejet g55. > > oh, and i am getting this too: > Oct 31 17:02:07 tcb kernel: mlcpp0: mlcpp_transmit while TX busy > Oct 31 17:02:45 tcb last message repeated 3 times Does any of the text print out OK? What ghostscript driver are you using? I've used cdj550, but it's been said that hpdj works well for text also. David |
From: Carlos P. <cp...@pu...> - 2000-11-01 06:27:01
|
David Paschal <pa...@rc...> wrote: > Carlos Puchol <cp...@pu...> wrote: > > oh, i did not realize it was not compatible ... > > > > i am also having trouble in that about 3/4ths of the way into > > printing a single-page ps file (some text like > > echo hello world | nenscript -2rG) the printout starts showing > > junk characters (as in text mode, in rows). ideas? > > it is an officejet g55. > > > > oh, and i am getting this too: > > Oct 31 17:02:07 tcb kernel: mlcpp0: mlcpp_transmit while TX busy > > Oct 31 17:02:45 tcb last message repeated 3 times > > Does any of the text print out OK? What ghostscript driver are you > using? I've used cdj550, but it's been said that hpdj works well > for text also. i am printing postscript, and it prints very well, except that when the printer gets to about 3/4ths of the first page, it starts spewing garbage, printing semi-empty pages, etc. the usual drill of some protocol being printer as if it were text. i am using cdj550, yes. the thing is that it seem to be working well the first time i got the printer printing. a reboot seems to have initiated this issue. thanks, - carlos |
From: Carlos P. <cp...@pu...> - 2000-11-01 09:00:14
|
Carlos Puchol <cp...@pu...> wrote: > i am using cdj550, yes. > > the thing is that it seem to be working well the first time > i got the printer printing. a reboot seems to have initiated this issue. [following up to myself] i installed the "deskjet" device (GSDEVICE=deskjet in /var/spool/lpd/lp/postscript.cfg) and it now prints (in high quality) poscript. this would seem to indicate that probably the ieee12844_print program (and the modules) are *not* the problem. (i had thought they might be, since it seemed some sort of protocol sync error.) what i find puzzling now is that the machine worked just fine with the cdj550 for a couple of days! -c |
From: DG <dg...@um...> - 2000-11-01 08:53:59
|
From: pa...@rc... (David Paschal) >Attached is a patch to ieee12844pp.c (version 0.6) to enable bidirectional >ECP (as opposed to the current slower ECP/forward and nibble/reverse). In >addition to speeding up scans by up to 4 times (according to my rough >measurements), I'm hoping this will also fix the driver lockup problems >that Daniel and possibly others have experienced. I invite Daniel and >anybody else who doesn't mind living a bit on the bleeding edge to try >it out and report success or problems. Note that it requires a bidirectional (also known as "PS/2") or ECP parallel port. David, you're my hero!!! This patch works great! With debug on or off, I was able to pass the 'scanimage --test' test. I used xscanimage stand-alone and gimp plug-in and both worked great, even with 10MB scans. It's much faster than the old driver--and doesn't hang. Way to go! >There are two new module parameters with this patch: "usebecp" and >"usenibble". >"usebecp=1" is *required* for the OfficeJet G series, K series, LaserJet >1100A and 3200; it should be omitted (or set to 0) for other models. Is the PSC 500 an "other model?" -- Daniel ZZZ-dgun-ZZZ-@-ZZZ-umpire.com-ZZZ (Remove the Z-'s to reply) ______________________________________________ FREE Personalized Email at Mail.com Sign up at http://www.mail.com/?sr=signup |
From: <pa...@rc...> - 2000-11-01 09:31:31
|
Hi, Joe. I wrote: > > The 570 I have perpetually scrolls the message "See instructions to print > > demo page" or something like that, except when it has a more urgent message > > to display. If I remember correctly, when I ran the original xojpanel > > (which presumably didn't scroll text by itself) with this peripheral, the > > message scrolled on the screen at more or less the same rate. OK, so my mind was playing tricks on me. I tried it again, and sure enough, the original xojpanel didn't scroll and the new one does, meaning that as you said, the peripheral reports the whole string, even on the 570. > Can you check the xojpanel output again to see what's really happening, and > how long the string is, if you can see it all? The last release of xojpanel > has a problem finding its lcd pixmap, but if run from the xojpanel/ build > directory, it shouldn't have any trouble. The fallback-to-current-directory feature is broken. I had to create a symlink from /usr/local/share/pixmaps/hpoj in order for xojpanel to work. I looked in the code, and for hpojlcd.xpm and ojforlinux.xpm, you're printing an error message and returning a failure code before you even try to load from the current directory. Try deleting or renaming your /usr/local/share/pixmaps/hpoj directory and you'll see what I mean. > If you can get "hpo set" working, can you get it to automatically set the > Time/Date on the printer? The 600's clock has to be reset every time the > printer is turned on. That should work. According to the documentation I have, OID_DEV_DATE_AND_TIME takes a binary structure consisting of the following bytes: year (presumably the last two digits), month, day, day of week, hour, minute, and second. However, I'm surprised that the peripheral doesn't keep up with the date/time while powered off. Does it forget it both when you power it off just with the power button, or when you physically unplug it? I'm not familiar with this particular model, so perhaps this is how it was designed, or perhaps it has a dead battery or something like that. Here are some other suggestions offhand from my first time of playing around with your new version of xojpanel: - Don't distribute "Makefile". That is generated automatically by the configure script, and contains pathnames specific to your system. - See comment above regarding failure to load pixmaps from current directory. - It might be nice to scroll a little faster, but when it scrolls to the end, delay for a second or two before you start over. Perhaps you could make the scroll rate and end-of-scroll delay configurable. - The second line does scroll. However, for some reason, the peripheral returns a large number of trailing spaces on the second line, which is visible even with "hpo get OID_STATUS_MSG_LINE2_PART1". This means that every 2nd-line message scrolls away and stays blank for a while. I would suggest that for both lines, you strip trailing (but probably not leading) whitespace as soon as you read them from the peripheral. - I would prefer that you replaced "Oj" in the titlebar with either "OfficeJet" or "HP OfficeJet". - What does the asterisk after "Linux" mean? - I like your Line2TestString. :-) Overall I like your new version a lot. Good job, and thanks for working on this! David |
From: Joe P. <joe...@sn...> - 2000-11-10 23:52:56
|
On Wed, 01 Nov 2000, David Paschal wrote: <...> I tried it again, and sure enough, > the original xojpanel didn't scroll and the new one does, meaning that as > you said, the peripheral reports the whole string, even on the 570. > I got the same impression originally. I remembered seeing something scroll, but it must have been text scrolling in the titlebar, which is only a little smaller than the original xojpanel app itself. > The fallback-to-current-directory feature is broken. I had to create a > symlink from /usr/local/share/pixmaps/hpoj in order for xojpanel to work. > I looked in the code, and for hpojlcd.xpm and ojforlinux.xpm, you're > printing an error message and returning a failure code before you even > try to load from the current directory. Try deleting or renaming your > /usr/local/share/pixmaps/hpoj directory and you'll see what I mean. It's fixed now. > > If you can get "hpo set" working, can you get it to automatically set the > > Time/Date on the printer? The 600's clock has to be reset every time the > > printer is turned on. > That should work. According to the documentation I have, > OID_DEV_DATE_AND_TIME takes a binary structure consisting of the following > bytes: year (presumably the last two digits), month, day, day of week, > hour, minute, and second. However, I'm surprised that the peripheral doesn't > keep up with the date/time while powered off. Does it forget it both when > you power it off just with the power button, or when you physically unplug > it? I'm not familiar with this particular model, so perhaps this is how > it was designed, or perhaps it has a dead battery or something like that. > The 600 doesn't have a battery. I checked again, and found hat its clock will keep running as long as the printer remains connected to ac power. Some data is retained by the printer even if it's disconnected from ac power, but the clock is apparently designed to be synchronized with the computer's clock, so it gets set by software on the computer. The problem is that I turn the whole system on and off with the switch on a surge suppressor. It's a bit easier to hit one switch than three or more. Many people probably turn their system on and off this way. It works well under windows, because the software sets up the printer automatically when both are started together. If the "hpoj driver" could set up the printer automatically, it would be ideal. I didn't spend much time trying "hpo set", but all I got from it was "Sorry, set not yet implemented." > Here are some other suggestions offhand from my first time of playing around > with your new version of xojpanel: < - Don't distribute "Makefile". I only put the necessary files in the tarball this time, not the whole directory. > - It might be nice to scroll a little faster, but when it scrolls to the end, > delay for a second or two before you start over. Perhaps you could make the > scroll rate and end-of-scroll delay configurable. xojpanel now has independantly configurable: printer poll interval (in milliseconds.) scroll advance interval (in milliseconds.) scroll start delay (in "scrolls" skipped.) scroll end delay (in "scrolls" skipped.) > - The second line does scroll. However, for some reason, the peripheral > returns a large number of trailing spaces on the second line, which is > visible even with "hpo get OID_STATUS_MSG_LINE2_PART1". This means that > every 2nd-line message scrolls away and stays blank for a while. I would > suggest that for both lines, you strip trailing (but probably not leading) > whitespace as soon as you read them from the peripheral. > Whitespace is now stripped from the trailing end of all messages coming from the printer. I found that some of the messages contain control characters in addition to spaces. The negative of isgraph() is used to filter them out, which will work for all versions of Qt. Are there any OfficeJets that output unicode to their LCD? Guessing that some may be able to, I added some code to the stripping function that takes advantage of the unicode features of qt-2.x . The qt-2.x code will strip ascii as well. It can't be used with qt-1.xx, though, because there is no unicode support in those versions. "#ifdef UNICODE_SUPPORT" in ojstatus.cpp will control which code is used, though if it can be done, it would be better to do that automatically from the configure script, based on the Qt version being used. That's if unicode support is even necessary. Using it doesn't seem to hurt, though. > - I would prefer that you replaced "Oj" in the titlebar with either > "OfficeJet" or "HP OfficeJet". The titlebar reads "OfficeJet Status" now. > - What does the asterisk after "Linux" mean? Just decoration. It's gone. > - I like your Line2TestString. :-) > > Overall I like your new version a lot. Good job, and thanks for working on > this! > > David > Thanks very much. Starting a second copy of xojpanel still causes the first copy to freeze, though. xojpanel doesn't call PMLClose() until just before exiting, which may be part of the problem. I'm not familiar enough with system programming to mess around very much with that. The original xojpanel code for retrieving the LCD messages is still there. I know what it does, but not how it operates. You might want to take a look at the old code to see if I've used it correctly. I have the latest code on my site. http://pages.cthome.net/jsp/hpoj-linux-gui/index.html I hope people like this latest snapshot. It seems to work much better. ------------------- Joe |
From: <pa...@rc...> - 2000-11-01 10:47:33
|
> David, you're my hero!!! This patch works great! With debug on or off, I > was able to pass the 'scanimage --test' test. I used xscanimage stand-alone > and gimp plug-in and both worked great, even with 10MB scans. It's much > faster than the old driver--and doesn't hang. Way to go! Hi, Daniel. Thanks for the success report, although I think "hero" is a bit excessive. :-) In any case, I'm glad you're finally up and running. Also thank you for bearing with me and helping me debug the problem, since I wasn't able to reproduce it on any of my setups. (As Martin Fink pointed out in an earlier success report, you weren't the only one with this problem.) > >"usebecp=1" is *required* for the OfficeJet G series, K series, LaserJet > >1100A and 3200; it should be omitted (or set to 0) for other models. > > Is the PSC 500 an "other model?" Yes, functionally the PSC 500 is similar to the R40. And don't worry; I'll fix it so "usebecp" is set automatically before I put out a new official release. I didn't make it automatic at first so I could get the patch out there for testing without delaying further for refinement. (Since then even I have found it annoying, because I keep forgetting to specify it when I switch between different peripherals for testing!) Happy scanning... :-) David |
From: <pa...@rc...> - 2000-11-13 10:31:02
|
Hi, Joe. > <...> I tried it again, and sure enough, > > the original xojpanel didn't scroll and the new one does, meaning that as > > you said, the peripheral reports the whole string, even on the 570. > I got the same impression originally. I remembered seeing something scroll, > but it must have been text scrolling in the titlebar, which is only a little > smaller than the original xojpanel app itself. That makes sense. > The 600 doesn't have a battery. I checked again, and found hat its clock will > keep running as long as the printer remains connected to ac power. Some data > is retained by the printer even if it's disconnected from ac power, but the > clock is apparently designed to be synchronized with the computer's clock, so > it gets set by software on the computer. The problem is that I turn the whole > system on and off with the switch on a surge suppressor. It's a bit easier to > hit one switch than three or more. Many people probably turn their system on and > off this way. It works well under windows, because the software sets up the > printer automatically when both are started together. If the "hpoj driver" > could set up the printer automatically, it would be ideal. OK, this is good to know. I'll make a note of this. Ultimately perhaps this should be handled by the "xojpanel on steroids" we talked about earlier. > I didn't spend much time trying "hpo set", but all I got from it was "Sorry, set > not yet implemented." Oh, I hadn't noticed that until now. I'm currently rewriting the PML functionality, and I'll make sure that this gets implemented there. > Whitespace is now stripped from the trailing end of all messages coming > from the printer. I found that some of the messages contain control characters > in addition to spaces. The negative of isgraph() is used to filter them out, > which will work for all versions of Qt. Which messages contain control characters? > Are there any OfficeJets that output unicode to their LCD? PML has a provision for strings to be gotten/set in various symbol sets, including 16-bit Unicode. I don't know if there are any peripherals which actually implement Unicode, however. > Thanks very much. Starting a second copy of xojpanel still causes the > first copy to freeze, though. xojpanel doesn't call PMLClose() until just > before exiting, which may be part of the problem. That's most likely the fault of the lower-level code. In order to support multiple instances of xojpanel or other PML clients, there needs to be a mechanism for multiplexing PML requests from different clients and routing the replies correctly. Currently, starting up a second PML client attempts to open a second PML connection to the peripheral. ieee12844.c either doesn't properly handle the peripheral's refusal of the second open, and/or it doesn't properly handle multiple simultaneous opens period. The latter is likely because I've gotten into trouble before while playing around with the scan and echo channels at the same time. > I'm not familiar enough with > system programming to mess around very much with that. The original > xojpanel code for retrieving the LCD messages is still there. I know what it > does, but not how it operates. You might want to take a look at the old code > to see if I've used it correctly. OK, I'll take a look at it. I'll probably hack that area some later anyway once I finish the new PML interface. David |
From: Gerhard F. <ger...@fu...> - 2000-11-13 14:20:30
|
David Paschal wrote: > That's most likely the fault of the lower-level code. > In order to support multiple instances of xojpanel or other PML > clients, there needs to be a mechanism for multiplexing PML requests > from different clients and routing > the replies correctly. Currently, starting up a second PML client > attempts to open a second PML connection to the peripheral. > ieee12844.c either doesn't properly handle the peripheral's refusal > of the second open, and/or it doesn't properly handle multiple > simultaneous opens period. The latter is likely > because I've gotten into trouble before while playing around > with the scan and echo channels at the same time. David, can you remember the problem with MLCConfigSocket? If a 2nd connection to the same peripheral port was attempted, then ieee12844.c sent a 2nd MLCConfigSocket although this violates the protocol. Therefore the 2nd connection to the same peripheral port always failed. The driver should remember to which ports it already has sent MLCConfigSocket and also the negotiated parameters, and should not send it at the 2nd connect attempt. Do you remeber: Some time ago you told me about the problem, and I told you, that I know, but that I hadn't it implemented yet. Do you have already fixed this problem? But even if this problem is fixed, then I'm not sure whether the OfficeJet will a) accept a 2nd simultaneous PML connection and b) whether the OJ will correclty multiplex the PML requests/responses/traps over the two connections. According to the PML spec one could assume, that PML devices _are_ generally capable to do this. But I wouldn't believe it before I've seen that it works ... If it works (with all OJ models), then maybe you can omit a separate PML multiplexor on the host, if not, then you will definitely need it. Gerhard -- Gerhard Fuernkranz Email: ger...@fu... FCS CS EP SQ XS1 Phone: +49-(0)89-636-46651 Fax: +49-(0)89-636-46002 |
From: Joe P. <joe...@sn...> - 2000-11-13 18:43:43
|
On Mon, 13 Nov 2000, David Paschal wrote: > > Whitespace is now stripped from the trailing end of all messages coming > > from the printer. I found that some of the messages contain control characters > > in addition to spaces. The negative of isgraph() is used to filter them out, > > which will work for all versions of Qt. > Which messages contain control characters? On the 600, messages that prompt for user input by pushing buttons on the printer end in ascii 32, 8, 8 (space, backspace, backspace). I added a test to the stripRightSpace() function that will show the ascii codes for the complete message. When the printer is cold started, the lcd on the printer's lcd scrolls "Push START to set time/date, or STOP to skip." That message doesn't have any trailing whitespace, although it continues to scroll two spaces after the end of the message is fully displayed on the printer's lcd. After pushing "Start" on the printer's control panel, a series of shorter prompt messages appear such as "Enter month:". That and the following time/date prompts end in ascii 32, 8, 8. I haven't checked any of the other types of messages, so I don't have much to base this guess on, but the 600's lcd acts like it might be adding two spaces to the end of every message before or while displaying, then requires backspaces in the message to place a cursor. Another reason for backspaces may be to compensate at times when the message is 15 or 16 printable characters long, which would not be long enough to need scrolling, but would be scrolled anyway because of the automatically added spaces. > > Are there any OfficeJets that output unicode to their LCD? > PML has a provision for strings to be gotten/set in various symbol sets, > including 16-bit Unicode. I don't know if there are any peripherals which > actually implement Unicode, however. > Assuming that OfficeJets are sold in countries that use complex written scripts, the "oriental" countries and possibly Arabic regions, for instance, what type of script would those users see on their printer's lcd? In some of those areas there are simplified alternative scripts that are generally taught, and might fit in an ascii table, but that wouldn't necessarily be the case for all areas. > > > Thanks very much. Starting a second copy of xojpanel still causes the > > first copy to freeze, though. xojpanel doesn't call PMLClose() until just > > before exiting, which may be part of the problem. > That's most likely the fault of the lower-level code. In order to support > multiple instances of xojpanel or other PML clients, there needs to be a > mechanism for multiplexing PML requests from different clients and routing > the replies correctly. Currently, starting up a second PML client attempts > to open a second PML connection to the peripheral. ieee12844.c either doesn't > properly handle the peripheral's refusal of the second open, and/or it doesn't > properly handle multiple simultaneous opens period. The latter is likely > because I've gotten into trouble before while playing around with the scan > and echo channels at the same time. > > > I'm not familiar enough with > > system programming to mess around very much with that. The original > > xojpanel code for retrieving the LCD messages is still there. I know what it > > does, but not how it operates. You might want to take a look at the old code > > to see if I've used it correctly. > OK, I'll take a look at it. I'll probably hack that area some later anyway > once I finish the new PML interface. Here's another problem that may be related: When xojpanel is running on my system and I'm printing with ieee12844_print, printing will work until a second print job is attempted. xojpanel then has to be closed to allow the second print job to continue. When xojpanel is open and a different driver ( no ieee12844_print involvement) is used, xojpanel blocks *all* printing to the officejet until it's closed. The original xojpanel causes the same problems. Printing to a second printer/driver (laserjet clone, non ieee12844_print ) on a different parallel port is not affected, even while printing is currently blocked to the officejet by xojpanel. -------- Joe |
From: PASCHAL,DAVID (HP-Roseville,ex1) <dav...@hp...> - 2000-11-14 05:06:58
|
Hi, Gerhard. > can you remember the problem with MLCConfigSocket? > If a 2nd connection to the same peripheral port was attempted, then > ieee12844.c sent a 2nd MLCConfigSocket although this violates the > protocol. Therefore the 2nd connection to the same peripheral port > always failed. > The driver should remember to which ports it already has sent > MLCConfigSocket and also the negotiated parameters, and should not > send it at the 2nd connect attempt. > Do you remeber: Some time ago you told me about the problem, > and I told > you, that I know, but that I hadn't it implemented yet. > Do you have already fixed this problem? I haven't fixed that problem, and I had sort of forgotten about it until now. The driver is probably locking up in response to the Error packet from the peripheral. Actually, I have made few or no changes to ieee12844.c since I took over. The vast majority of my kernel-mode hacking has been on ieee12844pp.c to improve the parallel signaling (such as the patch that started this thread). I probably won't fix things like the duplicate ConfigSocket problem unless absolutely necessary, because eventually I plan to replace the kernel-mode drivers with a user-mode daemon anyway (and add support for true 1284.4, USB, PML multiplexing, and non-Linux platforms). > But even if this problem is fixed, then I'm not sure whether the > OfficeJet will a) accept a 2nd simultaneous PML connection and b) > whether the OJ will correclty multiplex the PML > requests/responses/traps > over the two connections. According to the PML spec one could assume, > that PML devices _are_ generally capable to do this. But I wouldn't > believe it before I've seen that it works ... > If it works (with all OJ models), then maybe you can omit a > separate PML > multiplexor on the host, if not, then you will definitely need it. Most HP peripherals don't support simultaneous connections to the same peripheral socket ID, for PML or any other service, so you're correct as we discussed before that PML multiplexing will need to be handled by the host. I suppose it's possible that a few of the high-end LaserJets with slots for JetDirect cards support this, since they have to multiplex print and PML between the parallel port and EIO/MIO slots anyway, but of course this project isn't targeting those peripherals, so we needn't worry about that case. :-) David |
From: Joe P. <joe...@sn...> - 2000-10-31 03:16:59
|
On Mon, 30 Oct 2000, PASCHAL,DAVID (HP-Roseville,ex1) wrote: <....> > > > The LCD line 1 text scrolls now when it's too long. I > > haven't been able to > > test scrolling on line 2, but it looks like it might work. > One concern I have here is that sometimes the peripheral does its own > scrolling when the message is too big for the actual LCD. If your display > is smaller and you're trying to do your own scrolling as well, then it might > not be too pretty. I'm not sure what the best way would be to figure out > how large to make the display, but perhaps you could make it grow > dynamically whenever you got back a string with more printable (non-null, > non-space) characters than you already had room for. Since I'm not familiar > with QT I don't know how hard this would be. > If all of the officejets always send the complete string to xojpanel, xojpanel shouldn't be affected by the printer's scrolling action. I'm not sure what you mean, though. Are you saying that some printers can send sections of a string rather than the whole thing? What I see happening with the 600 is xojpanel gets a full text string from the printer, even if it's too long for either display. The code I added to xojpanel simply scrolls it horizontally (independant of the printer) on the xojpanel lcd window until the string coming from the printer changes. The printer is queried every 1000ms presently. The 600's hardware lcd scrolls the same long line independantly of xojpanel. The xojpanel LCD has two rows of 16 "blocks" to show one character in each. The 600's LCD has only one row of 16 blocks. While the printer's LCD is scrolling the long string in its one line of blocks, xojpanel scrolls the string independantly in the upper line of its own "lcd". The only officejet I have access to is my 600, which has only the one text line on its hardware lcd. It probably never sends a line2. That prevents me from properly testing line 2 scrolling. Code for second line display and scrolling is in xojpanel now, though. Are there any officejets that have a second line on their LCD? Do any of them have a second line that would ever need to be scrolled? The answers probably aren't necessary right now, but they could be helpful. If you haven't downloaded my changes yet, and are not in a hurry, wait just a bit. I just found and hopefully corrected another bug (a memory leak) and will probably put the new code on my site tomorrow. ********************************************** Joe |