Request maintenance signature RicohSOP 1.3.0.6 (PCC 5.3)
Incident Properties
Question
Hi RiDP team
Please help to create maintenance signature for new fix patch version 1.3.0.6 build #556
This release version fixes issues below to customers:
1. Enhancement Request 1957602: RicohSOP-1.3 - EOTSS Support for Ricoh SmartSDK for SSO for Autostore
2. Enhancement Request 1965060: RicohSOP-1.3 - If TLS 1.0/1.1/SSL is disabled Scans are still sent to DCE using TLS 1.1/1.0/SSL
3. Enhancement Request 1965931: RicohSOP-1.3 - Jam in Document feeder exposes security risk as user is left logged in
4. Bug 1965979: RicohSOP-1.3 - Send to Email form - when To field is selected, it automatically queries for all contacts instead of waiting for search criteria
5. Bug 1968060: RicohSOP-1.3 - Device Out of memory if AS workflow specifies an icon + Enable Debug Log is set on DRS
Kind Regards
Ngoc
PCC5 "Please Wait" spinning wheel error in morning
Incident Properties
Question
Hi
Customer has reported to Ricoh and us that multiple sites are having issue with Ricoh devices IM C3000 series.
Where, every morning users swipe their badge and see "Please wait" error with spinning wheel with eventually never able to sign in neither with card nor with PIN.
User reboots the machines and then it connects to PCC for EQ print release and continues to work for the rest of the day.
We have an evaluation on the logs, we found the reason device API returns "false" for the result of lock power function, "false" value will impact to next process to apply FAC function to login to the device.
intent.setAction(RicohSDKConstant.ACTION_REQ_LOCK_POWER_MODE);
intent.putExtra("PACKAGE_NAME", androidContext.getPackageName());
intent.putExtra("POWER_MODE", 3); // lock power mode 3
androidContext.sendOrderedBroadcast(intent, // intent
RicohSDKConstant.APP_CMD_PERMISSION, // permission
resultReceiver, // receiver
null, // scheduler
Activity.RESULT_OK, // initialCode
null, // initialData
null); // initialExtras
This problem just occur on morning after a long sleep mode.
After rebooted device, the lock power function work as normal, it can return "true" value.
My question is: Is there any reason device in deep sleep mode, its API functions are not ready when waking up ?
Do you have any experience or suggestion on this problem?
Thank you
Ngoc
Timeout using UDP API SmartSDK
Incident Properties
Question
Hello,
We are implementing a feature that utilizes the SmartSDK API, specifically the transmission and reception of UDP calls described on this page of the documentation: SmartSdk_DevKit_R2303/doc/en/guide_ml/210-01-0231.htm?ssdk_v3
However, we are encountering issues with the response from the UDP API requests. We are experiencing timeouts and are unable to identify the cause.
These problems have been observed with the MP C306Z model, but not with more recent printers such as the IM C2000.
Here is an example where it is working properly:
06-22 09:04:52.331 3714 3402 I System.out: >>>> [NDDPRINT COLLECTOR V5.3.1]Valor retornado getStringElement: RICOH IM C2000
06-22 09:04:52.331 3714 3402 I System.out: >>>> [NDDPRINT COLLECTOR V5.3.1]getStringElement - Valor recebido no valueToCall: 1.3.6.1.2.1.25.3.2.1.3.1
06-22 09:04:52.331 3714 3402 I System.out: >>>> [NDDPRINT COLLECTOR V5.3.1]getStringElement - Inicio da espera
06-22 09:04:52.341 3714 23728 I System.out: >>>> [NDDPRINT COLLECTOR V5.3.1]Message to send: {"sendMethod":"unicast","data":"MCkCAQAEBnB1YmxpY6AcAgEBAgEAAgEAMBEwDwYLKwYBAgEZAwIBAwEFAA==","ip": "192.168.201.40","sourcePort": 55316,"encodeMethod": "base64","port": 161}
06-22 09:04:52.341 3714 23728 E global : InetAddress.java lookupHostByName() ip=/fe80::226:73ff:fe0c:d60f%usb0%7 len=1
06-22 09:04:52.341 3714 23728 E global : InetAddress.java lookupHostByName() save cache
06-22 09:04:52.491 3714 23728 I System.out: >>>> [NDDPRINT COLLECTOR V5.3.1]Result: true
06-22 09:04:52.491 3339 27710 I SdkServ : NET:AHM:send event:{"id":null,"event":"udp_receipt","date":"2023-06-22T13:04:53.205Z","data":{"udpData":"MDcCAQAEBnB1YmxpY6IqAgEBAgEAAgEAMB8wHQYLKwYBAgEZAwIBAwEEDlJJQ09IIElNIEMyMDAw","port":55316,"hostIp":"192.168.201.40","hostPort":161}}
06-22 09:04:52.501 3714 3714 I System.out: >>>> [NDDPRINT COLLECTOR V5.3.1]Recebeu Intent sobre UDP
06-22 09:04:52.501 3714 3714 I System.out: >>>> [NDDPRINT COLLECTOR V5.3.1]Action de UDP_RECEIVE_EVENT
06-22 09:04:52.501 3714 3714 I System.out: >>>> [NDDPRINT COLLECTOR V5.3.1]snmpVars: ( 1.3.6.1.2.1.25.3.2.1.3.1 RICOH IM C2000 )
06-22 09:04:52.501 3714 3714 I System.out: >>>> [NDDPRINT COLLECTOR V5.3.1]jsonResponse: {"data":{"hostPort":161,"port":55316,"hostIp":"192.168.201.40","udpData":"MDcCAQAEBnB1YmxpY6IqAgEBAgEAAgEAMB8wHQYLKwYBAgEZAwIBAwEEDlJJQ09IIElNIEMyMDAw"},"date":"2023-06-22T13:04:53.205Z","id":null,"event":"udp_receipt"}
06-22 09:04:52.501 3714 3714 I System.out: >>>> [NDDPRINT COLLECTOR V5.3.1]jsonResponseData: {"port":55316,"hostPort":161,"hostIp":"192.168.201.40","udpData":"MDcCAQAEBnB1YmxpY6IqAgEBAgEAAgEAMB8wHQYLKwYBAgEZAwIBAwEEDlJJQ09IIElNIEMyMDAw"}
06-22 09:04:52.501 3714 3714 I System.out: >>>> [NDDPRINT COLLECTOR V5.3.1]nextRequestType: 1
06-22 09:04:52.501 3714 3714 I System.out: >>>> [NDDPRINT COLLECTOR V5.3.1]SNMPObject getResponse: RICOH IM C2000
06-22 09:04:52.501 3714 3714 I System.out: >>>> [NDDPRINT COLLECTOR V5.3.1]receivedResponse: true
06-22 09:04:53.991 3339 4092 D SdkServ : NET:AHM:async connection monitoring...
06-22 09:04:54.331 3714 3402 I System.out: >>>> [NDDPRINT COLLECTOR V5.3.1]Valor retornado getStringElement: RICOH IM C2000
And here is an example of the same request where it is not working as expected:
06-22 09:11:07.191 3714 11478 I System.out: >>>> [NDDPRINT COLLECTOR V5.3.1]getManufacturer result:RICOH
06-22 09:11:07.191 3714 11478 I System.out: >>>> [NDDPRINT COLLECTOR V5.3.1]getStringElement - Valor recebido no valueToCall: 1.3.6.1.2.1.25.3.2.1.3.1
06-22 09:11:07.191 3714 11478 I System.out: >>>> [NDDPRINT COLLECTOR V5.3.1]getStringElement - Inicio da espera
06-22 09:11:07.191 3714 23931 I System.out: >>>> [NDDPRINT COLLECTOR V5.3.1]Message to send: {"sendMethod":"unicast","data":"MCkCAQAEBnB1YmxpY6AcAgEBAgEAAgEAMBEwDwYLKwYBAgEZAwIBAwEFAA==","ip": "192.168.201.40","sourcePort": 55316,"encodeMethod": "base64","port": 161}
06-22 09:11:07.201 3714 23931 E global : InetAddress.java lookupHostByName() ip=/fe80::226:73ff:fe0c:d60f%usb0%7 len=1
06-22 09:11:07.201 3714 23931 E global : InetAddress.java lookupHostByName() save cache
06-22 09:11:07.341 3714 23931 I System.out: >>>> [NDDPRINT COLLECTOR V5.3.1]Result: true
06-22 09:11:13.531 2920 2920 I Launcher:AlarmRegistReceiver: onReceive
06-22 09:11:13.991 3339 4092 D SdkServ : NET:AHM:async connection monitoring...
06-22 09:11:14.761 3339 3339 I SdkServ : CMN:SYS:jp.co.ricoh.isdk.sdkservice.action.RUN_SERVICES receive
06-22 09:11:14.761 3339 3339 I SdkServ : CMN:SRV:onStartCommand
06-22 09:11:15.151 2920 2931 I dalvikvm: GC_FOR_ALLOC freed 917K, 23% free 7710K/9984K, paused 24ms, total 26ms
06-22 09:11:15.541 3380 3380 D CSPF_SWS: [SystemBroadcastReceiver]jp.co.ricoh.dsdk.decolet.action.RUN_SERVICES receive
06-22 09:11:15.541 3380 3380 I CSPF_SWS: [SystemWrapperService]onStartCommand
06-22 09:11:21.071 3906 3906 I BRWS : BrowRcvr:onReceive[jp.co.ricoh.isdk.browser.action.RUN_SERVICES]
06-22 09:11:21.071 3906 3906 D BRWS : BrowRcvr:onReceive[jp.co.ricoh.isdk.browser.action.RUN_SERVICES] [android.intent.extra.ALARM_COUNT:1]
06-22 09:11:21.081 3906 3906 I BRWS : BrowSrv:onStartCommand
06-22 09:11:21.081 3906 3906 D BRWS : BrowSrv:onStartCommand[null]
06-22 09:11:21.091 3906 3908 I dalvikvm: GC_CONCURRENT freed 398K, 19% free 2941K/3588K, paused 2ms+2ms, total 25ms
06-22 09:11:23.991 3339 4092 D SdkServ : NET:AHM:async connection monitoring...
06-22 09:11:33.991 3339 4092 D SdkServ : NET:AHM:async connection monitoring...
06-22 09:11:35.501 2675 2679 I dalvikvm: GC_CONCURRENT freed 880K, 18% free 6423K/7804K, paused 3ms+6ms, total 54ms
06-22 09:11:43.991 3339 4092 D SdkServ : NET:AHM:async connection monitoring...
06-22 09:11:44.521 3978 3980 I dalvikvm: GC_CONCURRENT freed 670K, 17% free 4571K/5456K, paused 3ms+2ms, total 41ms
06-22 09:11:44.751 3339 3339 I SdkServ : CMN:SYS:jp.co.ricoh.isdk.sdkservice.action.RUN_SERVICES receive
06-22 09:11:44.761 3339 3339 I SdkServ : CMN:SRV:onStartCommand
06-22 09:11:45.541 3380 3380 D CSPF_SWS: [SystemBroadcastReceiver]jp.co.ricoh.dsdk.decolet.action.RUN_SERVICES receive
06-22 09:11:45.541 3380 3380 I CSPF_SWS: [SystemWrapperService]onStartCommand
06-22 09:11:51.071 3906 3906 I BRWS : BrowRcvr:onReceive[jp.co.ricoh.isdk.browser.action.RUN_SERVICES]
06-22 09:11:51.071 3906 3906 D BRWS : BrowRcvr:onReceive[jp.co.ricoh.isdk.browser.action.RUN_SERVICES] [android.intent.extra.ALARM_COUNT:1]
06-22 09:11:51.071 3906 3906 I BRWS : BrowSrv:onStartCommand
06-22 09:11:51.071 3906 3906 D BRWS : BrowSrv:onStartCommand[null]
06-22 09:11:51.071 2675 2698 I ActivityManager: No longer want jp.co.ricoh.advop.systemlegacy (pid 24005): empty for 1853s
06-22 09:11:53.991 3339 4092 D SdkServ : NET:AHM:async connection monitoring...
06-22 09:12:03.991 3339 4092 D SdkServ : NET:AHM:async connection monitoring...
06-22 09:12:07.181 2675 2679 I dalvikvm: GC_CONCURRENT freed 903K, 18% free 6416K/7804K, paused 3ms+6ms, total 57ms
06-22 09:12:07.201 3714 11478 I System.out: >>>> [NDDPRINT COLLECTOR V5.3.1]Timeout durante waitReceiveResponse
06-22 09:12:07.201 3714 11478 I System.out: >>>> [NDDPRINT COLLECTOR V5.3.1]Valor retornado getStringElement:
In the first log, we're receiving "Action de UDP_RECEIVE_EVENT" witch indicates we've received the response we needed. On the second log, this line is not showing, this means we haven’t received the response to our request.
This doesn’t always happens, some times it does work and sometimes it doesn’t.
In both cases the "Result: true" log is showing, meaning that the UDP API received the request properly.
@Override
protected String doInBackground(Void... strings) {
try {
MachineStatusSampleLogic logic = new MachineStatusSampleLogic("1711276262");
String message = createSNMPMessage(oid, requestType);
String bodyMsg2 = "{\"sendMethod\":\"unicast\",\"data\":\"" + message + "\",\"ip\": \""+printerIp+"\",\"sourcePort\": 55316,\"encodeMethod\": \"base64\",\"port\": 161}";
CollectorLogger.getInstance().debug("GetSNMPDataTask", "Message to send: " + bodyMsg2);
boolean result = logic.sendUDPv2(bodyMsg2);
CollectorLogger.getInstance().debug("GetSNMPDataTask", "Result: " + result);
} catch (Exception e) {
CollectorLogger.getInstance().debug("GetSNMPDataTask", "Falha ao rodar GetSNMPDataTask");
e.printStackTrace();
}
return "";
}
MachineStatusSampleLogic:
public boolean sendUDPv2(String bodyMsg) {
final RequestHeader reqHeader = getRequestHeader();
final Request request = new Request();
request.setHeader(reqHeader);
final BasicRestContext context = new BasicRestContext();
final DeviceProperty deviceProperty = new DeviceProperty(context);
try {
return deviceProperty.sendUDP(request, bodyMsg);
} catch (InvalidResponseException ire) {
logOutputErrorResponse(ire);
return false;
} catch (IOException ioe) {
logOutputErrorResponse(ioe);
return false;
} catch (Exception e) {
logOutputErrorResponse(e);
return false;
}
}
We have reached a point where we are unsure how to solve this issue or determine its root cause. Could you help us with this problem?
Best regards.
Best way to wait for an intent from a UDP API call
Incident Properties
Question
Hello
We are implementing a feature that uses the SmartSDK API, more specificaly the transmission and reception of UDP calls that is described in this page of the documentation:
SmartSdk_DevKit_R2303/doc/en/guide_ml/210-01-0231.htm?ssdk_v3
We are using this API within another process of synchronous calls to collect data from another printer, using the SNMP protocol.
As the calls of this other process are synchronous, we are forced to wait for the response and for that we placed a while method that keeps checking when the UDP API response intent has arrived:
"jp.co.ricoh.isdk.sdkservice.net.AsyncUdpEvent.UDP_RECEIVE_EVENT"
We think that creating a while is not a very efficient way of doing it and we need a more efficient alternative to wait for the UDP API response intent.
It is also difficult to identify when a timeout occurs, as we do not find a way to identify when a timeout occurs in the SmartSDK API, we need to place a 30-second timer within the while of the response, we assume that a timeout occurred, in case the response has not arrived in the defined time.
Could you help us by finding a more efficient way to wait for these intents?
Best regards.
REQUEST FOR MAINTENANCE SIGNATURE FOR V3.8.5
Incident Properties
Question
Request for maintenance signature, bug fixes and other enhancements.
MAINTENANCE SIGNATURE FOR SMARTSHARE
Incident Properties
Question
Hi,
We would like to ask for a maintenance signature for SmartShare Android Embedded Solution.
- Correction in the language.
Best regards,
Ezequiel.
Manually click but cannot logout and cannot stop scan after paper jam
Incident Properties
Question
Hi,
Please help to check the case ?
After paper jam's resolved, we click Logout button but cannot do logout.
We think it's because scan's in progress, but when we click on Stop button (step 7) to stop scan but cannot stop scan, too.
The only way is to reset device for the logout function return working properly.
These're detailed steps:
1. Login to device, do scan and let jam occurs during scanning.
2. Clear jam error.
3. Press Stop button, a dialog appears with Resume and Cancel scanning button, press “Resume”.
4. See Home button is available at this time, press Home button to return to Home screen
5. Press Copy function, notice that user can copy the job successfully.
6. User can press Logout button but cannot logout.
7. Click Stop button on bottom menu to stop scan but cannot stop scan.
The video attached for your reference.
Thank you.
REQUEST FOR MAINTENANCE SIGNATURE FOR V3.8.4
Incident Properties
Question
Request for maintenance signature, bug fixes and other enhancements.
Logging: "com.nqueue.embedded.ricoh has expiration date."
Incident Properties
Question
On our most recent certified build, I have noticed the following entry in our logs:
PkgInst:LicenseCheckService: com.nqueue.embedded.ricoh has expiration date.
I thought our signed files did not have expiration dates. Is this entry something I need to worry about?
Guest credentials
Incident Properties
Question
Hi Ricoh,
When I log a user in sending the "jp.co.ricoh.isdk.sdkservice.auth.custom.logic.RES_EXTERNAL_AUTH" intent to the device I want to limit the permissions the logged in users gets, for example only give him copy permissions. I do this by assigning each function a "all" or a "none" value, for example:
intent.putExtra(KEY_COPIER_PERMISSION, "all"); intent.putExtra(KEY_BROWSER_PERMISSION, "none");
However, it seems the logged in user always gets full permissions regardless of the permissions assign to him. Is there a device configuration that I need to do?