Click to See Complete Forum and Search --> : TCP/IP Printing?
MonkeyBoy
12-12-2002, 09:48 AM
Hi
Does anyone know if you can print using TCP/IP on the netBook?
Is there an implementation of LPR or an LPR Printer Port (like Windows) for instance?
Thanks
Not that I'm aware of. Anyone else?
MonkeyBoy
12-12-2002, 10:40 AM
Thanks Yan
Lets say I were stupid enough to write an implementation of an LPR port, do you know where I could get information about writing device drivers and the inner gubbins of Epoc.
I've searched round the internet and downloaded Programming Psion Computers by Leigh Edwards, followed the programming links from your excellent site :) and the looked through alot of sites and the code samples but they tend to be mainly aimed at the application level. Theres no real information that I can find on 'this is how you inplement a a device driver', 'this is hows it loaded by Epoc' and 'these are the interfaces you need to create'. Ive been to the Symbian site but they seem to be mainly concentrating on Symbian OS versions 6 and 7.
I suppose this touches on the 'Lifespan of the netBook' theme as the need for lots of accessible information on the workings of Epoc and the netBook is necessary if we are going to have to start doing things for ourselves a bit more.
A noble cause!
Is there no info in the EPOC SDKs? You can get them (and some other programming resources) at Teklogix' site (http://partners.psionteklogix.com/ptxcms/CORE.asp?s=com&p=PartnerProgram).
pliskens
12-13-2002, 12:48 AM
In order to implement network printing you could also choose a direct approach. You could build tcp/ip support directly into the printer driver itself, perhaps contacting Andrew Johnson (author of the canon bjc drivers) is a good starting point.
ktkawabe
12-13-2002, 07:15 AM
Hi MonkeyBoy,
Printing in EPOC is nicely documented :D Please see the subsection "printing" or something in GDI section under Graphics chapter in EPOC C++ reference.
Also I somehow remember (though not too sure) that the device driver documentation was released after the ER5 C++ SDK itself as a supplement. I don't remember from where I got it (OK, if that was a supplement, then apparently from Symbian web. but they change their web structure once in a while...), anyway my SDK documentation has a chapter "writing EPOC device driver". I don't know if this is actually good enough to write a real device driver, but as far as printer is concerned you don't have to I guess (as you'd like to build some application level protocol on TCP/IP, and the kernel side resources are actually handled by the PCMCIA or comms drivers in this case). Nevertheless I think it's worth reading, and if you cannot find that I'd recommend you to try the newest SDK from Teklogix. If you still cannot find that I'd happily send that to you.
Regards,
Keita
MonkeyBoy
12-13-2002, 11:00 AM
Thanks pliskens
I'll send a mail to Andrew Johnson as he does appear to be 'the man' when it come to printer drivers and stuff.
and thanks Keita
I've looked at the SDK device driver documentation unfortunately it seems to be about directly interacting with existing drivers. What I was hoping for was to find info on actually implementing a port. The idea being when the LPR port is installed it shows up on the print setup in addition to via PC and IR Port. Hopefully the port is independent of the printer driver so the output of the printer driver would be just directed to this 'virtual' LPR port, which does all the appropriate TCP/IP stuff and prints the document. Then I could use the appropriate drivers for the different printers on our LAN.
I've seen a book 'Symbian for Professional Developers' and there is a Professional Developer SDK, mentioned on the Teklogix web site which may have more info than the current SDK. Either way its probably going to cost me some cash, which is in short supply at the moment. So unless Andrew Johnson can come up with some ideas, I think the TCP/IP printing idea is a dead duck :(
Anyway thanks for the help everyone :)
Dave
MikeW
12-19-2002, 04:12 AM
Hi
I believe that you are trying to takle network printing from the wrong angle. Any PC wanting to print to a network printer first creates a print file on its local diskwhich it then sends to the printer.
We know that the Netbook can already create the file, it's 1 of the print options, so we need a program that sends this file to the printer using TCP/IP. Printing uses very basic TCP/IP that is the PC/Netbook must send data a block at a time & wait for an acknowledgement before sending the next block, to avoid overloading the printer/print server buffers.
So the problem is a communications rather than a print driver issue, so I contacted John Read who developed FlyTerm, original e-mail & his response are shown below.
Original E-mail
Can you please let me know if any of your products can print to a networked printer, or perhaps if I could use the send file option to send a formatted print file to the TCP/IP address of the networked printer.
This is of particular interest now that the Psion Netbook supports Ethernet & radio LAN networking.
Reply
We have not added any new features to our PSION based symbian products recently as there is no market for them, and we cannot get any support from PSION. We are however actively developing new features all the time for the symbian platform for nokia, and are very successful.
We can, relatively easily, migrate the new features from the symbian Nokia base back to the symbian PSION base, but this makes no sense without support from PSION.
I am sorry to sound negative. We feel sure that there are very interesting markets around the NetBook and mobile communication (WLAN, Ethernet), however cannot move forward on this.
Does anyone else know someone who develop the software, or how John can get support from Psion to develop the feature?
Mike
Abdullah
12-19-2002, 06:15 AM
Originally posted by MikeW
We can, relatively easily, migrate the new features from the symbian Nokia base back to the symbian PSION base, but this makes no sense without support from PSION.
I am sorry to sound negative. We feel sure that there are very interesting markets around the NetBook and mobile communication (WLAN, Ethernet), however cannot move forward on this.
Sad... I hope some time in the future, Teklogix will 'port' ER6 or 7 onto the netbook... instead of just a unicode ER5 as some people suggest...
MartinMaxwell
12-19-2002, 06:28 AM
I think those people - including myself - meant ER5 Unicode as a worst case alternative. Of course I agree with you.
MonkeyBoy
12-19-2002, 06:44 AM
Hi Mike thanks for helping, its a shame that most of the development is on the new Symbian platforms. We're slowly being left out in the cold.
However there a bit of good news, I've made a little progress on this subject myself. I'm straying a little in to the realms of programming here (for the netBook forum), but I've downloaded 'win32lpr' a free implementation of lpr with source for Windows written by a nice man called Angus Duggan (its a available on the web from a number of sources). If I get time I might try and port this C code to Epoc. Which hopefully will give a simple command line version of the Unix lpr command to send files to a networked printer.
By the way if anyone feels like porting the code themselves and sending me a copy, thats fine by me ;)
Its a sad thing to admit but I've asked for Professional Symbian Programming for Christmas, hopefully with a bit of help from this book I may be able to implement something and maybe do the virtual Serial or Parallel port stuff too, i'll keep you posted.
Thanks for support everyone
MikeW
12-19-2002, 07:05 AM
Hi MonkeyBoy
Hope you make progress with the program to send a print file to the TCP/IP address.
Has anyone tried sending a file to the printer IP address using a terminal emulator, I know Comms & FlyTerm have a 'Send File' menu option but I believe that it only supports modem, serial & Infrared communications. Comms just says PC card but I believe that it means a PC card modem.
May also be worth trying to do this from a PC just in case there is more to it than just sending the file.
Mike
I've patched the Perl module Net::LPR (http://search.cpan.org/author/DMLLOYD/Net-LPR-1.001/) to run under EPOC. It is available from http://perl.jonallen.info/bin/view/Main/PatchedNetLPR
To use it you will need Perl 5.6.1 and PerlStart (download from http://www.science-computing.de/o.flebbe/perl/perl5.html). This version of Perl omits the Errno.pm module, but I have created an EPOC version from the SDK SYS/ERRNO.H file (see http://perl.jonallen.info/bin/view/Main/EPOCErrno).
The program lpr.pl (http://perl.jonallen.info/bin/view/Main/EPOCLPRClient) is a simple Perl script to send a file (default is C:\PrintFile) to a remote print server. It is set up to accept PostScript files, however if you have a native EPOC driver for your printer (e.g. PCL4) then these can also be used by setting up a 'raw' print queue that does not process the data in any way.
Installation:[list=1]
Install Perl 5.6.1 and PerlStart
Copy Errno.pm to ?\perl\lib\5.6.1\epoc\Errno.pm
Copy LPR.pm to ?\perl\lib\site_perl\5.6.1\Net\LPR.pm
Edit lpr.pl with your print server details
Print to file C:\PrintFile and start lpr.pl
[/list=1]
If anyone wants to write a native version of LPR, the protocol is documented in RFC 1179 (http://www.faqs.org/rfcs/rfc1179.html).
Cheers,
JJ
Update: Some of the above links were broken, they should be OK now.
PDA Street
Copyright Internet.com Inc. All Rights Reserved.