ID:               49976
 Updated by:       johan...@php.net
 Reported By:      rpiccini at software4u dot it
-Status:           Open
+Status:           Feedback
 Bug Type:         Filesystem function related
 Operating System: WIN XP / UBUNTU 9.04
 PHP Version:      5.2.11
 New Comment:

For using the serial port from linux I'd suggest to take a look at the
dio extension so you can set baud rate, parity, ... via 
dio_tcsetattr()

Are you sure your device really returns anything? did you try other
serial port applications?


Previous Comments:
------------------------------------------------------------------------

[2009-10-23 17:43:08] rpiccini at software4u dot it

Description:
------------
Either on WIN XP or UBUNTU 9.0 can't read back any data from serial
port after correctly written to.

I'm trying to talk to a fiscal printer trough a custom protocol based
on ACK/NACK technique (send data -> receive answer -> respond to answer
-> ...)

With a serial port scanner (and from the ticket that are correctly
printed) I can see that the sent data are well received from fiscal
printer.

But any "replay" to sent data (which are present if data are sent to
serial port from other kind of software/programming languages) are
present.

The PHP Version is 5.2.11.
There were a similar bug report on 
http://bugs.php.net/bug.php?id=35531
but its state is "closed" (even if the case history is very similar and
the problem persists).

Reproduce code:
---------------
<?php
  // on UBUNTU
  $fp = fopen('/dev/ttyS0','r+');
  // on WIN XP
  /*fp = fopen('COM1:','r+');*/
  stream_set_timeout($fp, 0, 100);
  stream_set_blocking($fp,0);

  $stx = chr(2);
  $etx = chr(3);
  $string = $stx."030301346".$etx;     // command to eject paper
  fputs($fp,$string);
  echo "SENT: ".$string."<br />\n";      // display string sent to
serial port
  $buffer = fread($fp,128);              // tested with several int
values
  echo "RECEIVED: ".$buffer."<br />\n";  // display NOTHING!
  fclose($fp);
?> 


Expected result:
----------------
a correct ACK (chr(6)) or an incorrect NACK (chr(15)) from serial port
(sent by the fiscal printer)

Actual result:
--------------
NOTHING (no a single char)


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


-- 
Edit this bug report at http://bugs.php.net/?id=49976&edit=1

Reply via email to