star-micronics / StarXpand-SDK-iOS

StarXpand SDK for iOS is a software development kit for supporting application development for Star Micronics devices.
https://star-m.jp/starxpandsdk-oml.html
Other
27 stars 5 forks source link

Star illegal device state error. message: Network unavailable. code: networkUnavailable #9

Closed WenzhaoTan-Chowbus closed 2 months ago

WenzhaoTan-Chowbus commented 1 year ago

Description

I received multiple times about this error ”networkUnavailable“, and I don't know how to handle it. What is the problem causing this error to occur?

Your device where the bug occurs

Your printer

gare-bear commented 1 year ago

@WenzhaoTan-Chowbus According to our documentation, this means the tablet has lost internet connection, so we can't reach the printer over the LAN. Are you seeing that, even briefly?

WenzhaoTan-Chowbus commented 1 year ago

When this happens, some printers print out the receipt, but some don't. What should I do?

XinxingLi-Chowbus commented 1 year ago

@gare-bear The frequency of such errors is relatively high(Create some StarPrinter instance frequency open and close the same printer), but sometimes it prints normally. this is printer log :

- OS: iPadOS 15.6.1
- Device: iPad12,1
- App: com.xxx.xxx
- StarIO10 Version: 2.2.0

2022/12/07 21:21:52.815: Thread: <NSThread: 0x2828d1100>{number = 234, name = (null)}, [0x0000000282a7e3c0], TCPPort#internalWrite(data:timeout:completion:) Write - [00]
2022/12/07 21:21:52.815: Thread: <NSThread: 0x2828d1500>{number = 236, name = (null)}, [0x000000028276c200], StarLANPrinterPort#getStatus(timeout:) Status - hasError : false, coverOpen : false, drawerOpenCloseSignal : false, paperEmpty : false, paperNearEmpty : false, detail : version : Optional(5), printHeadOverTemperature : Optional(false), unrecoverableError : Optional(false), cutterError : Optional(false), printHeadThermistorError : Optional(false), receiveBufferOverflow : Optional(false), paperSeparatorError : Optional(false), paperJamError : Optional(false), paperPresent : Optional(false), etbCounter : Optional(0), boardOverTemperature : Optional(false), drawerOpenError : Optional(false), flashAccessError : Optional(false), eepromAccessError : Optional(false), sramAccessError : Optional(false), boardThermistorError : Optional(false), sensorAdjustmentError : Optional(false), printUnitOpen : Optional(false), connectedInterface : Optional(3)
2022/12/07 21:21:52.829: Thread: <NSThread: 0x282a3b740>{number = 231, name = (null)}, [0x0000000282778f00], TCPPort#internalWrite(data:timeout:completion:) Write - [32, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
2022/12/07 21:21:52.831: Thread: <NSThread: 0x2828d1100>{number = 234, name = (null)}, [0x00000002828d3940], TCPPort#internalWrite(data:timeout:completion:) Write - [00]
2022/12/07 21:21:52.831: Thread: <NSThread: 0x282a354c0>{number = 216, name = (null)}, [0x0000000282778f00], TCPPort#receive() Received - [29, 8A, 00, 00, 00, 00, 00, 00, 00, 00, 00, 06, 00, 00]
2022/12/07 21:21:52.832: Thread: <NSThread: 0x282a14d80>{number = 246, name = (null)}, [0x0000000282a59bc0], StarLANPrinterPort#getStatus(timeout:) Status - hasError : false, coverOpen : false, drawerOpenCloseSignal : false, paperEmpty : false, paperNearEmpty : false, detail : version : Optional(3), printHeadOverTemperature : Optional(false), unrecoverableError : Optional(false), cutterError : Optional(false), printHeadThermistorError : Optional(false), receiveBufferOverflow : Optional(false), paperSeparatorError : Optional(false), paperJamError : Optional(false), paperPresent : Optional(false), etbCounter : Optional(0), boardOverTemperature : nil, drawerOpenError : nil, flashAccessError : nil, eepromAccessError : nil, sramAccessError : nil, boardThermistorError : nil, sensorAdjustmentError : nil, printUnitOpen : nil, connectedInterface : nil
2022/12/07 21:21:52.835: Thread: <NSThread: 0x2828d3bc0>{number = 235, name = (null)}, [0x000000028276db80], TCPPort#internalCheckAvailability() Error - illegalDeviceState(message: "Network unavailable.", errorCode: networkUnavailable)
2022/12/07 21:21:52.846: Thread: <NSThread: 0x282b95540>{number = 230, name = (null)}, [0x00000002827797c0], TCPPort#internalWrite(data:timeout:completion:) Write - [32, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
2022/12/07 21:21:52.848: Thread: <NSThread: 0x282b95540>{number = 230, name = (null)}, [0x00000002827797c0], TCPPort#receive() Received - [23, 86, 00, 00, 00, 00, 00, 00, 00, 00, 00, 23, 86, 00, 00, 00, 00, 00, 00, 00, 00, 00]
2022/12/07 21:21:52.855: Thread: <NSThread: 0x2828d1100>{number = 234, name = (null)}, [0x0000000282a7e3c0], TCPPort#internalWrite(data:timeout:completion:) Write - [00]
2022/12/07 21:21:52.855: Thread: <NSThread: 0x2828d1500>{number = 236, name = (null)}, [0x000000028276c200], StarLANPrinterPort#getStatus(timeout:) Status - hasError : false, coverOpen : false, drawerOpenCloseSignal : false, paperEmpty : false, paperNearEmpty : false, detail : version : Optional(5), printHeadOverTemperature : Optional(false), unrecoverableError : Optional(false), cutterError : Optional(false), printHeadThermistorError : Optional(false), receiveBufferOverflow : Optional(false), paperSeparatorError : Optional(false), paperJamError : Optional(false), paperPresent : Optional(false), etbCounter : Optional(0), boardOverTemperature : Optional(false), drawerOpenError : Optional(false), flashAccessError : Optional(false), eepromAccessError : Optional(false), sramAccessError : Optional(false), boardThermistorError : Optional(false), sensorAdjustmentError : Optional(false), printUnitOpen : Optional(false), connectedInterface : Optional(3)
2022/12/07 21:21:52.871: Thread: <NSThread: 0x282a14840>{number = 248, name = (null)}, [0x0000000282a43180], TCPPort#internalWrite(data:timeout:completion:) Write - [32, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
2022/12/07 21:21:52.871: Thread: <NSThread: 0x282a33880>{number = 225, name = (null)}, [0x00000002828d3940], TCPPort#internalWrite(data:timeout:completion:) Write - [00]
2022/12/07 21:21:52.871: Thread: <NSThread: 0x282a14d80>{number = 246, name = (null)}, [0x0000000282a59bc0], StarLANPrinterPort#getStatus(timeout:) Status - hasError : false, coverOpen : false, drawerOpenCloseSignal : false, paperEmpty : false, paperNearEmpty : false, detail : version : Optional(3), printHeadOverTemperature : Optional(false), unrecoverableError : Optional(false), cutterError : Optional(false), printHeadThermistorError : Optional(false), receiveBufferOverflow : Optional(false), paperSeparatorError : Optional(false), paperJamError : Optional(false), paperPresent : Optional(false), etbCounter : Optional(0), boardOverTemperature : nil, drawerOpenError : nil, flashAccessError : nil, eepromAccessError : nil, sramAccessError : nil, boardThermistorError : nil, sensorAdjustmentError : nil, printUnitOpen : nil, connectedInterface : nil
2022/12/07 21:21:52.873: Thread: <NSThread: 0x282a33880>{number = 225, name = (null)}, [0x0000000282a43180], TCPPort#receive() Received - [29, 8A, 00, 00, 00, 00, 00, 00, 00, 00, 00, 06, 00, 00]
2022/12/07 21:21:52.887: Thread: <NSThread: 0x2828d1100>{number = 234, name = (null)}, [0x000000028277b580], TCPPort#internalWrite(data:timeout:completion:) Write - [32, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
2022/12/07 21:21:52.890: Thread: <NSThread: 0x282a17d00>{number = 240, name = (null)}, [0x000000028277b580], TCPPort#receive() Received - [23, 86, 00, 00, 00, 00, 00, 00, 00, 00, 00, 23, 86, 00, 00, 00, 00, 00, 00, 00, 00, 00]
coolbeet commented 1 year ago

@gare-bear Hi Guillermo, it seems like we can reproduce this issue 100% for every 30-40 prints. When this happens, sometimes the printer will print, sometimes not. Please help.

gare-bear commented 1 year ago

@coolbeet I know you've been speaking with Joshua from our dev-support team on this issue, and he's given you a handful of suggestions. Any update?

minusoneman commented 1 year ago

We are experiencing the same problem with a TSP100IIILAN. We cannot reproduce it every single time, but it seems more frequent when the printer is receiving a lot of print jobs at the same time.

The error message we get is:

illegalDeviceState(message: "Network unavailable.", errorCode: networkUnavailable)

The printer usually does print out the ticket even when reporting the error, which, eventually ends up with duplicate ticket prints. Very frustrating for our customers.

StarXpend 2.5.0 Printer firmware version 2.3

Can you please share what suggestions your dev-support team gave?

minusoneman commented 11 months ago

@gare-bear can you please help us follow up on this issue or direct us to where we can escalate this? It's a major pain point for our customers who use Star printers, and we would like to know how we can make progress on this.

bandit-ibayashi commented 4 months ago

We recently released version 2.7.0, in which we improved the internal processing related the Network Unavailable determination flow. Therefore, we would like you to update your StarIO10 to version 2.7.0 and check if the issue is resolved.

We are afraid keeping you waiting.

minusoneman commented 3 months ago

@bandit-ibayashi appreciate the attention. We'll test the latest version and revert when we have any updates to share.